import { PlatformApiClient } from './platform-api.js'; import { type PullBlockedFile } from './source-diff.js'; import { SourceRepo } from './source-repo.js'; export type { PullBlockedFile } from './source-diff.js'; export type SourceOperation = { action: 'create' | 'remote-only' | 'skip' | 'update'; kind: 'function' | 'workflow'; reason?: string; slug: string; }; export type WorkflowPushLink = { action: 'create' | 'skip' | 'update'; id: string; slug: string; status?: string; }; export type SourceTarget = { kind: 'function' | 'workflow'; slug: string; }; export type PullOptions = { diff?: boolean; overwrite?: boolean; target?: SourceTarget; }; export type PullResult = { blockedFiles: PullBlockedFile[]; diffOnly: boolean; functions: number; overwrittenFiles: string[]; warnings: string[]; workflows: number; }; export type PushResult = { builtWorkflows: number; operations: SourceOperation[]; warnings: string[]; workflowLinks: WorkflowPushLink[]; }; export declare function pullSource(repo: SourceRepo, client: PlatformApiClient, options?: PullOptions): Promise; export declare function pushSource(repo: SourceRepo, client: PlatformApiClient, options?: { dryRun?: boolean; target?: SourceTarget; }): Promise;