import { z } from "zod";
import type { ResolvedAppLocator } from "../../utils/domain-utils";
import type { AppItem } from "../../types/domain";
import { type ConnectionsMap } from "../../types/connections";
export declare const DEFAULT_CONFIG_PATH: ".zapierrc";
export type ManifestEntry = {
    implementationName: string;
    version?: string;
};
export type GetVersionedImplementationId = (appKey: string) => Promise<string | null>;
export type GetImplementation = (appKey: string) => Promise<AppItem | null>;
/**
 * Action entry for storing saved action configurations
 * The key in the actions record IS the user-provided name
 */
export declare const ActionEntrySchema: z.ZodObject<{
    appKey: z.ZodString;
    actionKey: z.ZodString;
    actionType: z.ZodString;
    connectionId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
    authenticationId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
    inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    createdAt: z.ZodString;
}, z.core.$strip>;
export type ActionEntry = z.infer<typeof ActionEntrySchema>;
export type Manifest = {
    apps?: Record<string, ManifestEntry>;
    actions?: Record<string, ActionEntry>;
    canIncludeSharedConnections?: boolean;
    canIncludeSharedTables?: boolean;
    canDeleteTables?: boolean;
    connections?: ConnectionsMap;
};
export type ResolveAppKeys = ({ appKeys, }: {
    appKeys: string[];
}) => Promise<ResolvedAppLocator[]>;
/**
 * Manifest schema for version locking and saved action configurations
 */
export declare const ManifestSchema: z.ZodObject<{
    apps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        implementationName: z.ZodString;
        version: z.ZodString;
    }, z.core.$strip>>>;
    actions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        appKey: z.ZodString;
        actionKey: z.ZodString;
        actionType: z.ZodString;
        connectionId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        authenticationId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
        inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        createdAt: z.ZodString;
    }, z.core.$strip>>>;
    canIncludeSharedConnections: z.ZodOptional<z.ZodBoolean>;
    canIncludeSharedTables: z.ZodOptional<z.ZodBoolean>;
    canDeleteTables: z.ZodOptional<z.ZodBoolean>;
    connections: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        connectionId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export declare const ManifestPluginOptionsSchema: z.ZodObject<{
    manifestPath: z.ZodOptional<z.ZodString>;
    manifest: z.ZodOptional<z.ZodObject<{
        apps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            implementationName: z.ZodString;
            version: z.ZodString;
        }, z.core.$strip>>>;
        actions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            appKey: z.ZodString;
            actionKey: z.ZodString;
            actionType: z.ZodString;
            connectionId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            authenticationId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
            inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
            createdAt: z.ZodString;
        }, z.core.$strip>>>;
        canIncludeSharedConnections: z.ZodOptional<z.ZodBoolean>;
        canIncludeSharedTables: z.ZodOptional<z.ZodBoolean>;
        canDeleteTables: z.ZodOptional<z.ZodBoolean>;
        connections: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            connectionId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
//# sourceMappingURL=schemas.d.ts.map