import { type ToolInvocation, type ToolServer } from "../tool-server"; export type SupabaseCliAction = "version" | "init" | "migration_new" | "db_diff" | "db_reset" | "db_pull" | "db_schema_declarative_sync" | "db_schema_declarative_generate" | "db_dump" | "config_pull" | "stack_start" | "stack_prepare" | "stack_status" | "stack_stop" | "stack_destroy" | "migration_list" | "gen_types" | "push"; export interface SupabaseCliArgs { action: SupabaseCliAction; workdir?: string; ref?: string; name?: string; schema?: string; db_url?: string; file?: string; dir?: string; dry_run?: boolean; declarative?: boolean; apply?: boolean; experimental?: boolean; strict_coverage?: boolean; overwrite?: boolean; runtime?: "docker" | "podman" | "native"; eager?: boolean; preparation?: "background" | "on-demand"; force?: boolean; yes?: boolean; confirm_destroy?: boolean; no_seed?: boolean; diff_engine?: "migra" | "pg-delta" | "pgadmin" | "pg-schema"; dump_mode?: "schema" | "data" | "roles"; language?: "typescript" | "go" | "swift" | "python"; } export interface OfficialCliExecutionResult { exitCode: number; stdout: string; stderr: string; } type MigrationPushCallback = ToolInvocation; type OfficialCliExecutor = (request: SupabaseCliArgs) => Promise; export interface SupabaseCliToolOptions { getPushMigrations?: () => MigrationPushCallback | undefined; executeOfficialCli?: OfficialCliExecutor; environment?: NodeJS.ProcessEnv; currentWorkingDirectory?: string; projectRef?: string; readOnly?: boolean; } export declare function buildOfficialSupabaseArgs(request: SupabaseCliArgs): string[]; export declare function createOfficialSupabaseEnvironment(environment: NodeJS.ProcessEnv): Record; export declare function redactOfficialSupabaseOutput(commandOutput: string, secrets?: string[]): string; export declare function resolveOfficialSupabaseCommand(workdir: string, environment?: NodeJS.ProcessEnv): string[]; export declare function registerSupabaseCliTools(server: ToolServer, options?: SupabaseCliToolOptions): void; export {};