% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/model_layer.R
\name{sf_model}
\alias{sf_model}
\title{Create a surveyframe model specification}
\usage{
sf_model(
  id,
  label = NULL,
  type = c("efa", "cfa", "cb_sem", "pls_sem"),
  engine = NULL,
  constructs = list(),
  paths = list(),
  covariances = list(),
  indirect = list(),
  options = list()
)
}
\arguments{
\item{id}{Model identifier.}

\item{label}{Human-readable model label.}

\item{type}{Model type. One of \code{"efa"}, \code{"cfa"}, \code{"cb_sem"}, or
\code{"pls_sem"}.}

\item{engine}{Optional engine name. Defaults to \code{"lavaan"} for CFA/CB-SEM
and \code{"seminr"} for PLS-SEM.}

\item{constructs}{List of \code{\link[=sf_construct]{sf_construct()}} objects.}

\item{paths}{List of \code{\link[=sf_path]{sf_path()}} objects.}

\item{covariances}{List of \code{\link[=sf_covariance]{sf_covariance()}} objects.}

\item{indirect}{List of \code{\link[=sf_indirect]{sf_indirect()}} objects.}

\item{options}{List of model options, such as \code{estimator}, \code{missing},
\code{bootstrap}, or \code{standardised}.}
}
\value{
An object of class \code{sf_model}.
}
\description{
Create a surveyframe model specification
}
