export * from "./asset";
export * from "./workflow-instance";
export * from "./conversation-instance";
import { Definitions as _Definitions } from "./definition";
import * as _DataSources from "./data-sources/index";
import { BaseConversation as _BaseConversation, Typings as _ConversationTypings } from "./conversation.js";
import { BaseConversationInstance as _BaseConversationInstance } from "./conversation-instance.js";
import { BaseKnowledge as _BaseKnowledge, Typings as _KnowledgeTypings } from "./knowledge.js";
import { BaseWorkflow as _BaseWorkflow, Typings as _WorkflowTypings } from "./workflow.js";
import { BaseAction as _BaseAction, Typings as _ActionTypings } from "./action.js";
import { BaseTable as _BaseTable, Typings as _TableTypings } from "./table.js";
import { Trigger as _BaseTrigger, Typings as _TriggerTypings } from "./trigger.js";
import { ZuiType } from "../types";
export declare namespace Primitives {
    export import Definitions = _Definitions;
    const BaseConversation: typeof _BaseConversation;
    const BaseConversationInstance: typeof _BaseConversationInstance;
    export import Conversation = _ConversationTypings;
    const BaseKnowledge: typeof _BaseKnowledge;
    export import Knowledge = _KnowledgeTypings;
    const BaseWorkflow: typeof _BaseWorkflow;
    export import Workflow = _WorkflowTypings;
    const BaseAction: typeof _BaseAction;
    export import Action = _ActionTypings;
    const BaseTable: typeof _BaseTable;
    export import Table = _TableTypings;
    const BaseTrigger: typeof _BaseTrigger;
    export import Trigger = _TriggerTypings;
}
export { BaseConversation as Conversation } from "./conversation.js";
export { BaseKnowledge as Knowledge } from "./knowledge.js";
export declare class Action<TInput extends ZuiType, TOutput extends ZuiType> extends Primitives.BaseAction<TInput, TOutput> {
}
export { BaseTable as Table } from "./table.js";
export { BaseWorkflow as Workflow } from "./workflow.js";
export { Trigger } from "./trigger.js";
export declare namespace DataSource {
    const createSyncWorkflow: <TState extends import("llmz/dist/types").ZuiType = import("llmz/dist/types").ZuiType>(props: {
        type: string;
        state: TState;
        handler: (props: _WorkflowTypings.HandlerProps<typeof import("./data-sources/source-base").SyncInput, typeof import("./data-sources/source-base").SyncOutput, TState>) => Promise<import("@bpinternal/zui").TypeOf<typeof import("./data-sources/source-base").SyncOutput>>;
    }) => _BaseWorkflow<`data_source_sync_${string}`, import("@bpinternal/zui").ZodObject<{
        sourceId: import("@bpinternal/zui").ZodString;
        kbName: import("@bpinternal/zui").ZodString;
        force: import("@bpinternal/zui").ZodDefault<import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodBoolean>>;
    }, "strip", {
        kbName: string;
        sourceId: string;
        force: boolean;
    }, {
        kbName: string;
        sourceId: string;
        force?: boolean | undefined;
    }>, import("@bpinternal/zui").ZodObject<{
        processed: import("@bpinternal/zui").ZodDefault<import("@bpinternal/zui").ZodNumber>;
        added: import("@bpinternal/zui").ZodDefault<import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
            file: import("@bpinternal/zui").ZodString;
            name: import("@bpinternal/zui").ZodString;
            hash: import("@bpinternal/zui").ZodString;
            size: import("@bpinternal/zui").ZodNumber;
        }, "strip", {
            name: string;
            size: number;
            hash: string;
            file: string;
        }, {
            name: string;
            size: number;
            hash: string;
            file: string;
        }>, "many">>;
        updated: import("@bpinternal/zui").ZodDefault<import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
            file: import("@bpinternal/zui").ZodString;
            name: import("@bpinternal/zui").ZodString;
            hash: import("@bpinternal/zui").ZodString;
            size: import("@bpinternal/zui").ZodNumber;
        }, "strip", {
            name: string;
            size: number;
            hash: string;
            file: string;
        }, {
            name: string;
            size: number;
            hash: string;
            file: string;
        }>, "many">>;
        deleted: import("@bpinternal/zui").ZodDefault<import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
            file: import("@bpinternal/zui").ZodString;
            name: import("@bpinternal/zui").ZodString;
            hash: import("@bpinternal/zui").ZodString;
            size: import("@bpinternal/zui").ZodNumber;
        }, "strip", {
            name: string;
            size: number;
            hash: string;
            file: string;
        }, {
            name: string;
            size: number;
            hash: string;
            file: string;
        }>, "many">>;
        errors: import("@bpinternal/zui").ZodDefault<import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodString, "many">>;
    }, "strip", {
        processed: number;
        added: {
            name: string;
            size: number;
            hash: string;
            file: string;
        }[];
        updated: {
            name: string;
            size: number;
            hash: string;
            file: string;
        }[];
        deleted: {
            name: string;
            size: number;
            hash: string;
            file: string;
        }[];
        errors: string[];
    }, {
        processed?: number | undefined;
        added?: {
            name: string;
            size: number;
            hash: string;
            file: string;
        }[] | undefined;
        updated?: {
            name: string;
            size: number;
            hash: string;
            file: string;
        }[] | undefined;
        deleted?: {
            name: string;
            size: number;
            hash: string;
            file: string;
        }[] | undefined;
        errors?: string[] | undefined;
    }>, TState, Record<string, ZuiType>>;
    const Table: typeof _DataSources.TableSource;
    const Website: typeof _DataSources.WebsiteSource;
    const Directory: typeof _DataSources.DirectorySource;
}
//# sourceMappingURL=index.d.ts.map