/**
 * Generated `ComponentApi` utility.
 *
 * THIS CODE IS AUTOMATICALLY GENERATED.
 *
 * To regenerate, run `npx convex dev`.
 * @module
 */
import type { FunctionReference } from "convex/server";
/**
 * A utility for referencing a Convex component's exposed API.
 *
 * Useful when expecting a parameter like `components.myComponent`.
 * Usage:
 * ```ts
 * async function myFunction(ctx: QueryCtx, component: ComponentApi) {
 *   return ctx.runQuery(component.someFile.someQuery, { ...args });
 * }
 * ```
 */
export type ComponentApi<Name extends string | undefined = string | undefined> = {
    event: {
        create: FunctionReference<"mutation", "internal", {
            name: string;
            workflowId: string;
        }, string, Name>;
        send: FunctionReference<"mutation", "internal", {
            eventId?: string;
            name?: string;
            result: {
                kind: "success";
                returnValue: any;
            } | {
                error: string;
                kind: "failed";
            } | {
                kind: "canceled";
            };
            workflowId?: string;
            workpoolOptions?: {
                defaultRetryBehavior?: {
                    base: number;
                    initialBackoffMs: number;
                    maxAttempts: number;
                };
                logLevel?: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
                maxParallelism?: number;
                retryActionsByDefault?: boolean;
            };
        }, string, Name>;
    };
    journal: {
        load: FunctionReference<"query", "internal", {
            shortCircuit?: boolean;
            workflowId: string;
        }, {
            blocked?: boolean;
            journalEntries: Array<{
                _creationTime: number;
                _id: string;
                step: {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    functionType: "query" | "mutation" | "action";
                    handle: string;
                    inProgress: boolean;
                    kind?: "function";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workId?: string;
                } | {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    handle: string;
                    inProgress: boolean;
                    kind: "workflow";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workflowId?: string;
                } | {
                    args: {
                        eventId?: string;
                    };
                    argsSize: number;
                    completedAt?: number;
                    eventId?: string;
                    inProgress: boolean;
                    kind: "event";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                } | {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    inProgress: boolean;
                    kind: "sleep";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workId?: string;
                };
                stepNumber: number;
                workflowId: string;
            }>;
            logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
            ok: boolean;
            workflow: {
                _creationTime: number;
                _id: string;
                args: any;
                generationNumber: number;
                logLevel?: any;
                name?: string;
                onComplete?: {
                    context?: any;
                    fnHandle: string;
                };
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                startedAt?: any;
                state?: any;
                workflowHandle: string;
            };
        }, Name>;
        startSteps: FunctionReference<"mutation", "internal", {
            generationNumber: number;
            steps: Array<{
                retry?: boolean | {
                    base: number;
                    initialBackoffMs: number;
                    maxAttempts: number;
                };
                schedulerOptions?: {
                    runAt?: number;
                } | {
                    runAfter?: number;
                };
                step: {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    functionType: "query" | "mutation" | "action";
                    handle: string;
                    inProgress: boolean;
                    kind?: "function";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workId?: string;
                } | {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    handle: string;
                    inProgress: boolean;
                    kind: "workflow";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workflowId?: string;
                } | {
                    args: {
                        eventId?: string;
                    };
                    argsSize: number;
                    completedAt?: number;
                    eventId?: string;
                    inProgress: boolean;
                    kind: "event";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                } | {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    inProgress: boolean;
                    kind: "sleep";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workId?: string;
                };
            }>;
            workflowId: string;
            workpoolOptions?: {
                defaultRetryBehavior?: {
                    base: number;
                    initialBackoffMs: number;
                    maxAttempts: number;
                };
                logLevel?: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
                maxParallelism?: number;
                retryActionsByDefault?: boolean;
            };
        }, Array<{
            _creationTime: number;
            _id: string;
            step: {
                args: any;
                argsSize: number;
                completedAt?: number;
                functionType: "query" | "mutation" | "action";
                handle: string;
                inProgress: boolean;
                kind?: "function";
                name: string;
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                startedAt: number;
                workId?: string;
            } | {
                args: any;
                argsSize: number;
                completedAt?: number;
                handle: string;
                inProgress: boolean;
                kind: "workflow";
                name: string;
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                startedAt: number;
                workflowId?: string;
            } | {
                args: {
                    eventId?: string;
                };
                argsSize: number;
                completedAt?: number;
                eventId?: string;
                inProgress: boolean;
                kind: "event";
                name: string;
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                startedAt: number;
            } | {
                args: any;
                argsSize: number;
                completedAt?: number;
                inProgress: boolean;
                kind: "sleep";
                name: string;
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                startedAt: number;
                workId?: string;
            };
            stepNumber: number;
            workflowId: string;
        }>, Name>;
    };
    workflow: {
        cancel: FunctionReference<"mutation", "internal", {
            workflowId: string;
        }, null, Name>;
        cleanup: FunctionReference<"mutation", "internal", {
            force?: boolean;
            workflowId: string;
        }, boolean, Name>;
        complete: FunctionReference<"mutation", "internal", {
            generationNumber: number;
            runResult: {
                kind: "success";
                returnValue: any;
            } | {
                error: string;
                kind: "failed";
            } | {
                kind: "canceled";
            };
            workflowId: string;
        }, null, Name>;
        create: FunctionReference<"mutation", "internal", {
            createOnly?: boolean;
            maxParallelism?: number;
            onComplete?: {
                context?: any;
                fnHandle: string;
            };
            startAsync?: boolean;
            workflowArgs: any;
            workflowHandle: string;
            workflowName: string;
        }, string, Name>;
        getStatus: FunctionReference<"query", "internal", {
            workflowId: string;
        }, {
            inProgress: Array<{
                _creationTime: number;
                _id: string;
                step: {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    functionType: "query" | "mutation" | "action";
                    handle: string;
                    inProgress: boolean;
                    kind?: "function";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workId?: string;
                } | {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    handle: string;
                    inProgress: boolean;
                    kind: "workflow";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workflowId?: string;
                } | {
                    args: {
                        eventId?: string;
                    };
                    argsSize: number;
                    completedAt?: number;
                    eventId?: string;
                    inProgress: boolean;
                    kind: "event";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                } | {
                    args: any;
                    argsSize: number;
                    completedAt?: number;
                    inProgress: boolean;
                    kind: "sleep";
                    name: string;
                    runResult?: {
                        kind: "success";
                        returnValue: any;
                    } | {
                        error: string;
                        kind: "failed";
                    } | {
                        kind: "canceled";
                    };
                    startedAt: number;
                    workId?: string;
                };
                stepNumber: number;
                workflowId: string;
            }>;
            logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
            workflow: {
                _creationTime: number;
                _id: string;
                args: any;
                generationNumber: number;
                logLevel?: any;
                name?: string;
                onComplete?: {
                    context?: any;
                    fnHandle: string;
                };
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                startedAt?: any;
                state?: any;
                workflowHandle: string;
            };
        }, Name>;
        list: FunctionReference<"query", "internal", {
            order: "asc" | "desc";
            paginationOpts: {
                cursor: string | null;
                endCursor?: string | null;
                id?: number;
                maximumBytesRead?: number;
                maximumRowsRead?: number;
                numItems: number;
            };
        }, {
            continueCursor: string;
            isDone: boolean;
            page: Array<{
                args: any;
                context?: any;
                name?: string;
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                workflowId: string;
            }>;
            pageStatus?: "SplitRecommended" | "SplitRequired" | null;
            splitCursor?: string | null;
        }, Name>;
        listByName: FunctionReference<"query", "internal", {
            name: string;
            order: "asc" | "desc";
            paginationOpts: {
                cursor: string | null;
                endCursor?: string | null;
                id?: number;
                maximumBytesRead?: number;
                maximumRowsRead?: number;
                numItems: number;
            };
        }, {
            continueCursor: string;
            isDone: boolean;
            page: Array<{
                args: any;
                context?: any;
                name?: string;
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                workflowId: string;
            }>;
            pageStatus?: "SplitRecommended" | "SplitRequired" | null;
            splitCursor?: string | null;
        }, Name>;
        listSteps: FunctionReference<"query", "internal", {
            order: "asc" | "desc";
            paginationOpts: {
                cursor: string | null;
                endCursor?: string | null;
                id?: number;
                maximumBytesRead?: number;
                maximumRowsRead?: number;
                numItems: number;
            };
            workflowId: string;
        }, {
            continueCursor: string;
            isDone: boolean;
            page: Array<{
                args: any;
                completedAt?: number;
                eventId?: string;
                kind: "function" | "workflow" | "event" | "sleep";
                name: string;
                nestedWorkflowId?: string;
                runResult?: {
                    kind: "success";
                    returnValue: any;
                } | {
                    error: string;
                    kind: "failed";
                } | {
                    kind: "canceled";
                };
                startedAt: number;
                stepId: string;
                stepNumber: number;
                workId?: string;
                workflowId: string;
            }>;
            pageStatus?: "SplitRecommended" | "SplitRequired" | null;
            splitCursor?: string | null;
        }, Name>;
        restart: FunctionReference<"mutation", "internal", {
            from?: number | string;
            startAsync?: boolean;
            workflowId: string;
        }, null, Name>;
    };
};
//# sourceMappingURL=component.d.ts.map