import { type ClientState } from "../client/types.js"; import { type DataModel } from "../dataModel/types.js"; import { type Fingerprint } from "../fingerprint/types.js"; import { type Store } from "../store/store.js"; import { type UserModels } from "../userModels/types.js"; import { type GenerateOptions, type IPlan, type ModelData, type PlanInputs, type PlanOptions } from "./types.js"; export declare class Plan implements IPlan { private readonly connectStore?; private readonly ctx; private readonly dataModel; private readonly fingerprint; private readonly plan; private readonly runStatements?; private readonly seed?; private readonly userModels; emit: (event: string) => void; options?: PlanOptions; store: Store; constructor(props: { createStore: (dataModel: DataModel) => Store; ctx: ClientState; dataModel: DataModel; emit: (event: string) => void; fingerprint?: Fingerprint; options?: PlanOptions; plan: PlanInputs; runStatements?: (statements: Array) => Promise; userModels: UserModels; }); private generateModel; private getGenerateOptions; private sortScalars; generate(options?: GenerateOptions): Promise; run(): Promise>; then(onfulfilled?: ((value: unknown) => PromiseLike | TResult1) | null | undefined, onrejected?: ((reason: unknown) => PromiseLike | TResult2) | null | undefined): PromiseLike; }