import { CreateArtifactRequestBody, CreateBackgroundWorkerRequestBody, DevConfigResponseBody, DevDequeueRequestBody, DevDequeueResponseBody, DevDisconnectRequestBody, DevDisconnectResponseBody, FailDeploymentRequestBody, FailDeploymentResponseBody, FinalizeDeploymentRequestBody, ImportEnvironmentVariablesRequestBody, InitializeDeploymentRequestBody, StartDeploymentIndexingRequestBody, TriggerTaskRequestBody, UpsertBranchRequestBody, WorkersCreateRequestBody, CreateProjectRequestBody, GetJWTRequestBody } from "@trigger.dev/core/v3";
import { WorkloadDebugLogRequestBody, WorkloadHeartbeatRequestBody, WorkloadHeartbeatResponseBody, WorkloadRunAttemptCompleteRequestBody, WorkloadRunAttemptCompleteResponseBody, WorkloadRunAttemptStartResponseBody, WorkloadRunLatestSnapshotResponseBody } from "@trigger.dev/core/v3/workers";
import { ApiResult } from "@trigger.dev/core/v3/zodfetch";
import { EventSource } from "eventsource";
export declare class CliApiClient {
    readonly apiURL: string;
    readonly accessToken?: string | undefined;
    readonly branch?: string | undefined;
    private engineURL;
    private source;
    constructor(apiURL: string, accessToken?: string | undefined, branch?: string | undefined, options?: {
        source?: "cli" | "mcp";
    });
    createAuthorizationCode(): Promise<ApiResult<{
        url: string;
        authorizationCode: string;
    }>>;
    getPersonalAccessToken(authorizationCode: string): Promise<ApiResult<{
        token: {
            token: string;
            obfuscatedToken: string;
        } | null;
    }>>;
    whoAmI(projectRef?: string): Promise<ApiResult<{
        userId: string;
        email: string;
        dashboardUrl: string;
        project?: {
            url: string;
            name: string;
            orgTitle: string;
        } | undefined;
    }>>;
    retrieveExternals(): Promise<ApiResult<{
        externals: string[];
    }>>;
    getProject(projectRef: string): Promise<ApiResult<{
        name: string;
        id: string;
        createdAt: Date;
        slug: string;
        organization: {
            id: string;
            createdAt: Date;
            slug: string;
            title: string;
        };
        externalRef: string;
    }>>;
    getProjects(): Promise<ApiResult<{
        name: string;
        id: string;
        createdAt: Date;
        slug: string;
        organization: {
            id: string;
            createdAt: Date;
            slug: string;
            title: string;
        };
        externalRef: string;
    }[]>>;
    getOrgs(): Promise<ApiResult<{
        id: string;
        createdAt: Date;
        slug: string;
        title: string;
    }[]>>;
    createProject(orgParam: string, body: CreateProjectRequestBody): Promise<ApiResult<{
        name: string;
        id: string;
        createdAt: Date;
        slug: string;
        organization: {
            id: string;
            createdAt: Date;
            slug: string;
            title: string;
        };
        externalRef: string;
    }>>;
    getWorkerByTag(projectRef: string, envName: string, tagName?: string): Promise<ApiResult<{
        worker: {
            id: string;
            version: string;
            tasks: {
                id: string;
                createdAt: Date;
                filePath: string;
                slug: string;
                triggerSource: string;
                payloadSchema?: any;
            }[];
            engine?: string | null | undefined;
            sdkVersion?: string | null | undefined;
            cliVersion?: string | null | undefined;
        };
        urls: {
            runs: string;
        };
    }>>;
    mintUserActorToken(body?: {
        cap?: string[];
        client?: string;
        ttlSeconds?: number;
    }): Promise<ApiResult<{
        token: string;
        expiresInSeconds: number;
    }>>;
    getJWT(projectRef: string, envName: string, body: GetJWTRequestBody): Promise<ApiResult<{
        token: string;
    }>>;
    getDevStatus(projectRef: string): Promise<ApiResult<{
        isConnected: boolean;
    }>>;
    createBackgroundWorker(projectRef: string, body: CreateBackgroundWorkerRequestBody): Promise<ApiResult<{
        id: string;
        version: string;
        contentHash: string;
    }>>;
    getProjectEnv({ projectRef, env }: {
        projectRef: string;
        env: string;
    }): Promise<ApiResult<{
        name: string;
        apiKey: string;
        apiUrl: string;
        projectId: string;
    }>>;
    upsertBranch(projectRef: string, body: UpsertBranchRequestBody): Promise<ApiResult<{
        id: string;
    }>>;
    archiveBranch(projectRef: string, env: UpsertBranchRequestBody["env"], branch: string): Promise<ApiResult<{
        branch: {
            id: string;
        };
    }>>;
    listBranches(projectRef: string): Promise<ApiResult<{
        branches: {
            name: string;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            isPaused: boolean;
            git?: Record<string, any> | undefined;
        }[];
    }>>;
    getEnvironmentVariables(projectRef: string): Promise<ApiResult<{
        variables: Record<string, string>;
    }>>;
    importEnvVars(projectRef: string, slug: string, params: ImportEnvironmentVariablesRequestBody): Promise<ApiResult<{
        success: boolean;
    }>>;
    getRemoteBuildProviderStatus(): Promise<ApiResult<{
        message: string;
        status: "unknown" | "operational" | "degraded";
    }>>;
    generateRegistryCredentials(deploymentId: string): Promise<ApiResult<{
        expiresAt: string;
        username: string;
        password: string;
        repositoryUri: string;
    }>>;
    createArtifact(body: CreateArtifactRequestBody): Promise<ApiResult<{
        artifactKey: string;
        uploadUrl: string;
        uploadFields: Record<string, string>;
        expiresAt: string;
    }>>;
    initializeDeployment(body: InitializeDeploymentRequestBody): Promise<ApiResult<{
        id: string;
        version: string;
        shortCode: string;
        contentHash: string;
        imageTag: string;
        imagePlatform: string;
        externalBuildData?: {
            projectId: string;
            buildId: string;
            buildToken: string;
        } | null | undefined;
        eventStream?: {
            s2: {
                basin: string;
                stream: string;
                accessToken: string;
            };
        } | undefined;
    }>>;
    createDeploymentBackgroundWorker(deploymentId: string, body: CreateBackgroundWorkerRequestBody): Promise<ApiResult<{
        id: string;
        version: string;
        contentHash: string;
    }>>;
    failDeployment(id: string, body: FailDeploymentRequestBody): Promise<ApiResult<{
        id: string;
    }>>;
    finalizeDeployment(id: string, body: FinalizeDeploymentRequestBody, onLog?: (message: string) => void): Promise<ApiResult<FailDeploymentResponseBody>>;
    promoteDeployment(version: string): Promise<ApiResult<{
        id: string;
        version: string;
        shortCode: string;
    }>>;
    startDeploymentIndexing(deploymentId: string, body: StartDeploymentIndexingRequestBody): Promise<ApiResult<{
        id: string;
        contentHash: string;
    }>>;
    getDeployment(deploymentId: string): Promise<ApiResult<{
        status: "CANCELED" | "FAILED" | "TIMED_OUT" | "PENDING" | "BUILDING" | "INSTALLING" | "DEPLOYING" | "DEPLOYED";
        id: string;
        version: string;
        shortCode: string;
        contentHash: string;
        imagePlatform: string;
        worker?: {
            id: string;
            version: string;
            tasks: {
                id: string;
                filePath: string;
                slug: string;
                exportName?: string | undefined;
            }[];
        } | undefined;
        imageReference?: string | null | undefined;
        externalBuildData?: {
            projectId: string;
            buildId: string;
            buildToken: string;
        } | null | undefined;
        commitSHA?: string | null | undefined;
        errorData?: {
            message: string;
            name: string;
            stack?: string | undefined;
            stderr?: string | undefined;
        } | null | undefined;
        integrationDeployments?: {
            id: string;
            createdAt: Date;
            commitSHA: string;
            integrationName: string;
            integrationDeploymentId: string;
        }[] | null | undefined;
    }>>;
    getCliPlatformNotification(projectRef?: string, signal?: AbortSignal): Promise<ApiResult<{
        notification: {
            payload: {
                version: string;
                data: {
                    type: "error" | "success" | "info" | "warn";
                    description: string;
                    title: string;
                    actionLabel?: string | undefined;
                    actionUrl?: string | undefined;
                    discovery?: {
                        filePatterns: string[];
                        matchBehavior: "show-if-found" | "show-if-not-found";
                        contentPattern?: string | undefined;
                    } | undefined;
                };
            };
            id: string;
            showCount: number;
            firstSeenAt: string;
        } | null;
    }>>;
    triggerTaskRun(taskId: string, body?: TriggerTaskRequestBody): Promise<ApiResult<{
        id: string;
        isCached?: boolean | undefined;
    }>>;
    get dev(): {
        readonly config: () => Promise<ApiResult<DevConfigResponseBody>>;
        readonly presenceConnection: () => EventSource;
        readonly dequeue: (body: DevDequeueRequestBody) => Promise<ApiResult<DevDequeueResponseBody>>;
        readonly sendDebugLog: (runId: string, body: WorkloadDebugLogRequestBody) => Promise<ApiResult<unknown>>;
        readonly getRunExecutionData: (runId: string) => Promise<ApiResult<WorkloadRunLatestSnapshotResponseBody>>;
        readonly heartbeatRun: (runId: string, snapshotId: string, body: WorkloadHeartbeatRequestBody) => Promise<ApiResult<WorkloadHeartbeatResponseBody>>;
        readonly startRunAttempt: (runId: string, snapshotId: string) => Promise<ApiResult<WorkloadRunAttemptStartResponseBody>>;
        readonly completeRunAttempt: (runId: string, snapshotId: string, body: WorkloadRunAttemptCompleteRequestBody) => Promise<ApiResult<WorkloadRunAttemptCompleteResponseBody>>;
        readonly disconnect: (body: DevDisconnectRequestBody) => Promise<ApiResult<DevDisconnectResponseBody>>;
        readonly setEngineURL: (engineURL: string) => void;
    };
    get workers(): {
        list: () => Promise<ApiResult<{
            type: string;
            name: string;
            updatedAt: Date;
            isDefault: boolean;
            description?: string | null | undefined;
            latestVersion?: string | null | undefined;
            lastHeartbeatAt?: string | null | undefined;
        }[]>>;
        create: (options: WorkersCreateRequestBody) => Promise<ApiResult<{
            token: {
                plaintext: string;
            };
            workerGroup: {
                name: string;
                description?: string | null | undefined;
            };
        }>>;
    };
    get deployments(): {
        unmanaged: {
            latest: () => Promise<ApiResult<{
                status: "CANCELED" | "FAILED" | "TIMED_OUT" | "PENDING" | "BUILDING" | "INSTALLING" | "DEPLOYING" | "DEPLOYED";
                id: string;
                version: string;
                shortCode: string;
                contentHash: string;
                imagePlatform: string;
                imageReference?: string | null | undefined;
                externalBuildData?: {
                    projectId: string;
                    buildId: string;
                    buildToken: string;
                } | null | undefined;
                commitSHA?: string | null | undefined;
                errorData?: {
                    message: string;
                    name: string;
                    stack?: string | undefined;
                    stderr?: string | undefined;
                } | null | undefined;
                integrationDeployments?: {
                    id: string;
                    createdAt: Date;
                    commitSHA: string;
                    integrationName: string;
                    integrationDeploymentId: string;
                }[] | null | undefined;
            }>>;
        };
    };
    private getLatestUnmanagedDeployment;
    private listWorkers;
    private createWorker;
    private devConfig;
    private devPresenceConnection;
    private devDisconnect;
    private devDequeue;
    private devSendDebugLog;
    private devGetRunExecutionData;
    private devHeartbeatRun;
    private devStartRunAttempt;
    private devCompleteRunAttempt;
    private setEngineURL;
    private getHeaders;
    private getBranchHeader;
}
