/**
 * Cloudflare CONTAINERS API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service containers
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
declare const ContainerApplicationNotFound_base: Schema.Class<ContainerApplicationNotFound, Schema.TaggedStruct<"ContainerApplicationNotFound", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class ContainerApplicationNotFound extends ContainerApplicationNotFound_base {
}
declare const DurableObjectAlreadyHasApplication_base: Schema.Class<DurableObjectAlreadyHasApplication, Schema.TaggedStruct<"DurableObjectAlreadyHasApplication", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class DurableObjectAlreadyHasApplication extends DurableObjectAlreadyHasApplication_base {
}
declare const DurableObjectNotContainerEnabled_base: Schema.Class<DurableObjectNotContainerEnabled, Schema.TaggedStruct<"DurableObjectNotContainerEnabled", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class DurableObjectNotContainerEnabled extends DurableObjectNotContainerEnabled_base {
}
declare const InvalidRoute_base: Schema.Class<InvalidRoute, Schema.TaggedStruct<"InvalidRoute", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class InvalidRoute extends InvalidRoute_base {
}
export interface GetContainerApplicationRequest {
    accountId: string;
    applicationId: string;
}
export declare const GetContainerApplicationRequest: Schema.Schema<GetContainerApplicationRequest>;
export interface GetContainerApplicationResponse {
    id: string;
    accountId: string;
    name: string;
    schedulingPolicy: "moon" | "gpu" | "regional" | "fill_metals" | "default";
    instances: number;
    maxInstances: number;
    constraints?: {
        tier?: number | null;
    } | null;
    affinities?: {
        colocation?: "datacenter" | null;
    } | null;
    configuration: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4" | null;
        observability?: {
            logs?: {
                enabled: boolean;
            } | null;
        } | null;
        sshPublicKeyIds?: string[] | null;
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[] | null;
        vcpu?: number | null;
        memory?: string | null;
        disk?: {
            size: string;
        } | null;
        environmentVariables?: {
            name: string;
            value: string;
        }[] | null;
        labels?: {
            name: string;
            value: string;
        }[] | null;
        network?: {
            assignIpv4?: "none" | "predefined" | "account" | null;
            assignIpv6?: "none" | "predefined" | "account" | null;
            mode?: "public" | "private" | null;
        } | null;
        command?: string[] | null;
        entrypoint?: string[] | null;
        dns?: {
            servers?: string[] | null;
            searches?: string[] | null;
        } | null;
        ports?: {
            name: string;
            port?: number | null;
        }[] | null;
        checks?: {
            name?: string | null;
            type: "http" | "tcp";
            tls?: boolean | null;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD" | null;
                body?: string | null;
                path?: string | null;
                headers?: unknown | null;
            } | null;
            interval: string;
            timeout: string;
            retries?: number | null;
            kind: "health" | "ready";
        }[] | null;
    };
    durableObjects?: {
        namespaceId: string;
    } | null;
    createdAt: string;
    version: number;
    durableObjectNamespaceId?: string | null;
    health: {
        instances: unknown;
    };
}
export declare const GetContainerApplicationResponse: Schema.Schema<GetContainerApplicationResponse>;
export type GetContainerApplicationError = DefaultErrors | InvalidRoute | ContainerApplicationNotFound;
export declare const getContainerApplication: API.OperationMethod<GetContainerApplicationRequest, GetContainerApplicationResponse, GetContainerApplicationError, Credentials | HttpClient.HttpClient>;
export interface ListContainerApplicationsRequest {
    accountId: string;
}
export declare const ListContainerApplicationsRequest: Schema.Schema<ListContainerApplicationsRequest>;
export type ListContainerApplicationsResponse = {
    id: string;
    accountId: string;
    name: string;
    schedulingPolicy: "moon" | "gpu" | "regional" | "fill_metals" | "default";
    instances: number;
    maxInstances: number;
    constraints?: {
        tier?: number | null;
    } | null;
    affinities?: {
        colocation?: "datacenter" | null;
    } | null;
    configuration: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4" | null;
        observability?: {
            logs?: {
                enabled: boolean;
            } | null;
        } | null;
        sshPublicKeyIds?: string[] | null;
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[] | null;
        vcpu?: number | null;
        memory?: string | null;
        disk?: {
            size: string;
        } | null;
        environmentVariables?: {
            name: string;
            value: string;
        }[] | null;
        labels?: {
            name: string;
            value: string;
        }[] | null;
        network?: {
            assignIpv4?: "none" | "predefined" | "account" | null;
            assignIpv6?: "none" | "predefined" | "account" | null;
            mode?: "public" | "private" | null;
        } | null;
        command?: string[] | null;
        entrypoint?: string[] | null;
        dns?: {
            servers?: string[] | null;
            searches?: string[] | null;
        } | null;
        ports?: {
            name: string;
            port?: number | null;
        }[] | null;
        checks?: {
            name?: string | null;
            type: "http" | "tcp";
            tls?: boolean | null;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD" | null;
                body?: string | null;
                path?: string | null;
                headers?: unknown | null;
            } | null;
            interval: string;
            timeout: string;
            retries?: number | null;
            kind: "health" | "ready";
        }[] | null;
    };
    durableObjects?: {
        namespaceId: string;
    } | null;
    createdAt: string;
    version: number;
    durableObjectNamespaceId?: string | null;
    health: {
        instances: unknown;
    };
}[];
export declare const ListContainerApplicationsResponse: Schema.Schema<ListContainerApplicationsResponse>;
export type ListContainerApplicationsError = DefaultErrors | InvalidRoute;
export declare const listContainerApplications: API.OperationMethod<ListContainerApplicationsRequest, ListContainerApplicationsResponse, ListContainerApplicationsError, Credentials | HttpClient.HttpClient>;
export interface CreateContainerApplicationRequest {
    accountId: string;
    name: string;
    maxInstances: number;
    configuration: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4";
        observability?: {
            logs?: {
                enabled: boolean;
            };
        };
        sshPublicKeyIds?: string[];
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[];
        vcpu?: number;
        memory?: string;
        disk?: {
            size: string;
        };
        environmentVariables?: {
            name: string;
            value: string;
        }[];
        labels?: {
            name: string;
            value: string;
        }[];
        network?: {
            assignIpv4?: "none" | "predefined" | "account";
            assignIpv6?: "none" | "predefined" | "account";
            mode?: "public" | "private";
        };
        command?: string[];
        entrypoint?: string[];
        dns?: {
            servers?: string[];
            searches?: string[];
        };
        ports?: {
            name: string;
            port?: number;
        }[];
        checks?: {
            name?: string;
            type: "http" | "tcp";
            tls?: boolean;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
                body?: string;
                path?: string;
                headers?: unknown;
            };
            interval: string;
            timeout: string;
            retries?: number;
            kind: "health" | "ready";
        }[];
    };
    durableObjects?: {
        namespaceId: string;
    };
    instances?: number;
    schedulingPolicy?: "moon" | "gpu" | "regional" | "fill_metals" | "default";
    constraints?: {
        tier?: number;
    };
    affinities?: {
        colocation?: "datacenter";
    };
}
export declare const CreateContainerApplicationRequest: Schema.Schema<CreateContainerApplicationRequest>;
export interface CreateContainerApplicationResponse {
    id: string;
    accountId: string;
    name: string;
    schedulingPolicy: "moon" | "gpu" | "regional" | "fill_metals" | "default";
    instances: number;
    maxInstances: number;
    constraints?: {
        tier?: number | null;
    } | null;
    affinities?: {
        colocation?: "datacenter" | null;
    } | null;
    configuration: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4" | null;
        observability?: {
            logs?: {
                enabled: boolean;
            } | null;
        } | null;
        sshPublicKeyIds?: string[] | null;
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[] | null;
        vcpu?: number | null;
        memory?: string | null;
        disk?: {
            size: string;
        } | null;
        environmentVariables?: {
            name: string;
            value: string;
        }[] | null;
        labels?: {
            name: string;
            value: string;
        }[] | null;
        network?: {
            assignIpv4?: "none" | "predefined" | "account" | null;
            assignIpv6?: "none" | "predefined" | "account" | null;
            mode?: "public" | "private" | null;
        } | null;
        command?: string[] | null;
        entrypoint?: string[] | null;
        dns?: {
            servers?: string[] | null;
            searches?: string[] | null;
        } | null;
        ports?: {
            name: string;
            port?: number | null;
        }[] | null;
        checks?: {
            name?: string | null;
            type: "http" | "tcp";
            tls?: boolean | null;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD" | null;
                body?: string | null;
                path?: string | null;
                headers?: unknown | null;
            } | null;
            interval: string;
            timeout: string;
            retries?: number | null;
            kind: "health" | "ready";
        }[] | null;
    };
    durableObjects?: {
        namespaceId: string;
    } | null;
    createdAt: string;
    version: number;
    durableObjectNamespaceId?: string | null;
    health: {
        instances: unknown;
    };
}
export declare const CreateContainerApplicationResponse: Schema.Schema<CreateContainerApplicationResponse>;
export type CreateContainerApplicationError = DefaultErrors | InvalidRoute | DurableObjectAlreadyHasApplication | DurableObjectNotContainerEnabled;
export declare const createContainerApplication: API.OperationMethod<CreateContainerApplicationRequest, CreateContainerApplicationResponse, CreateContainerApplicationError, Credentials | HttpClient.HttpClient>;
export interface UpdateContainerApplicationRequest {
    accountId: string;
    applicationId: string;
    instances?: number;
    maxInstances?: number;
    affinities?: {
        colocation?: "datacenter";
    };
    schedulingPolicy?: "moon" | "gpu" | "regional" | "fill_metals" | "default";
    constraints?: {
        tier?: number;
        region?: "AFR" | "APAC" | "EEUR" | "ENAM" | "WNAM" | "ME" | "OC" | "SAM" | "WEUR";
        regions?: ("AFR" | "APAC" | "EEUR" | "ENAM" | "WNAM" | "ME" | "OC" | "SAM" | "WEUR")[];
        cities?: ("AFR" | "APAC" | "EEUR" | "ENAM" | "WNAM" | "ME" | "OC" | "SAM" | "WEUR")[];
    };
    configuration?: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4";
        observability?: {
            logs?: {
                enabled: boolean;
            };
        };
        sshPublicKeyIds?: string[];
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[];
        vcpu?: number;
        memory?: string;
        disk?: {
            size: string;
        };
        environmentVariables?: {
            name: string;
            value: string;
        }[];
        labels?: {
            name: string;
            value: string;
        }[];
        network?: {
            assignIpv4?: "none" | "predefined" | "account";
            assignIpv6?: "none" | "predefined" | "account";
            mode?: "public" | "private";
        };
        command?: string[];
        entrypoint?: string[];
        dns?: {
            servers?: string[];
            searches?: string[];
        };
        ports?: {
            name: string;
            port?: number;
        }[];
        checks?: {
            name?: string;
            type: "http" | "tcp";
            tls?: boolean;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
                body?: string;
                path?: string;
                headers?: unknown;
            };
            interval: string;
            timeout: string;
            retries?: number;
            kind: "health" | "ready";
        }[];
    };
}
export declare const UpdateContainerApplicationRequest: Schema.Schema<UpdateContainerApplicationRequest>;
export interface UpdateContainerApplicationResponse {
    id: string;
    accountId: string;
    name: string;
    schedulingPolicy: "moon" | "gpu" | "regional" | "fill_metals" | "default";
    instances: number;
    maxInstances: number;
    constraints?: {
        tier?: number | null;
    } | null;
    affinities?: {
        colocation?: "datacenter" | null;
    } | null;
    configuration: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4" | null;
        observability?: {
            logs?: {
                enabled: boolean;
            } | null;
        } | null;
        sshPublicKeyIds?: string[] | null;
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[] | null;
        vcpu?: number | null;
        memory?: string | null;
        disk?: {
            size: string;
        } | null;
        environmentVariables?: {
            name: string;
            value: string;
        }[] | null;
        labels?: {
            name: string;
            value: string;
        }[] | null;
        network?: {
            assignIpv4?: "none" | "predefined" | "account" | null;
            assignIpv6?: "none" | "predefined" | "account" | null;
            mode?: "public" | "private" | null;
        } | null;
        command?: string[] | null;
        entrypoint?: string[] | null;
        dns?: {
            servers?: string[] | null;
            searches?: string[] | null;
        } | null;
        ports?: {
            name: string;
            port?: number | null;
        }[] | null;
        checks?: {
            name?: string | null;
            type: "http" | "tcp";
            tls?: boolean | null;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD" | null;
                body?: string | null;
                path?: string | null;
                headers?: unknown | null;
            } | null;
            interval: string;
            timeout: string;
            retries?: number | null;
            kind: "health" | "ready";
        }[] | null;
    };
    durableObjects?: {
        namespaceId: string;
    } | null;
    createdAt: string;
    version: number;
    durableObjectNamespaceId?: string | null;
    health: {
        instances: unknown;
    };
}
export declare const UpdateContainerApplicationResponse: Schema.Schema<UpdateContainerApplicationResponse>;
export type UpdateContainerApplicationError = DefaultErrors | InvalidRoute | ContainerApplicationNotFound;
export declare const updateContainerApplication: API.OperationMethod<UpdateContainerApplicationRequest, UpdateContainerApplicationResponse, UpdateContainerApplicationError, Credentials | HttpClient.HttpClient>;
export interface DeleteContainerApplicationRequest {
    accountId: string;
    applicationId: string;
}
export declare const DeleteContainerApplicationRequest: Schema.Schema<DeleteContainerApplicationRequest>;
export type DeleteContainerApplicationResponse = unknown;
export declare const DeleteContainerApplicationResponse: Schema.Schema<DeleteContainerApplicationResponse>;
export type DeleteContainerApplicationError = DefaultErrors | InvalidRoute | ContainerApplicationNotFound;
export declare const deleteContainerApplication: API.OperationMethod<DeleteContainerApplicationRequest, DeleteContainerApplicationResponse, DeleteContainerApplicationError, Credentials | HttpClient.HttpClient>;
export interface CreateContainerApplicationRolloutRequest {
    accountId: string;
    applicationId: string;
    description: string;
    strategy: "rolling";
    kind?: "full_auto";
    stepPercentage: number;
    targetConfiguration: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4";
        observability?: {
            logs?: {
                enabled: boolean;
            };
        };
        sshPublicKeyIds?: string[];
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[];
        vcpu?: number;
        memory?: string;
        disk?: {
            size: string;
        };
        environmentVariables?: {
            name: string;
            value: string;
        }[];
        labels?: {
            name: string;
            value: string;
        }[];
        network?: {
            assignIpv4?: "none" | "predefined" | "account";
            assignIpv6?: "none" | "predefined" | "account";
            mode?: "public" | "private";
        };
        command?: string[];
        entrypoint?: string[];
        dns?: {
            servers?: string[];
            searches?: string[];
        };
        ports?: {
            name: string;
            port?: number;
        }[];
        checks?: {
            name?: string;
            type: "http" | "tcp";
            tls?: boolean;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
                body?: string;
                path?: string;
                headers?: unknown;
            };
            interval: string;
            timeout: string;
            retries?: number;
            kind: "health" | "ready";
        }[];
    };
}
export declare const CreateContainerApplicationRolloutRequest: Schema.Schema<CreateContainerApplicationRolloutRequest>;
export interface CreateContainerApplicationRolloutResponse {
    id: string;
    createdAt: string;
    lastUpdatedAt: string;
    description: string;
    status: "progressing" | "completed" | "failed";
    health: {
        instances: {
            healthy: number;
            failed: number;
            starting: number;
            scheduling: number;
        };
    };
    kind: "full_auto";
    strategy: "rolling";
    currentConfiguration: {
        image: string;
        observability?: {
            logs?: {
                enabled: boolean;
            } | null;
        } | null;
    };
    targetConfiguration: {
        image: string;
        instanceType?: "lite" | "dev" | "basic" | "standard" | "standard-1" | "standard-2" | "standard-3" | "standard-4" | null;
        observability?: {
            logs?: {
                enabled: boolean;
            } | null;
        } | null;
        sshPublicKeyIds?: string[] | null;
        secrets?: {
            name: string;
            type: "env";
            secret: string;
        }[] | null;
        vcpu?: number | null;
        memory?: string | null;
        disk?: {
            size: string;
        } | null;
        environmentVariables?: {
            name: string;
            value: string;
        }[] | null;
        labels?: {
            name: string;
            value: string;
        }[] | null;
        network?: {
            assignIpv4?: "none" | "predefined" | "account" | null;
            assignIpv6?: "none" | "predefined" | "account" | null;
            mode?: "public" | "private" | null;
        } | null;
        command?: string[] | null;
        entrypoint?: string[] | null;
        dns?: {
            servers?: string[] | null;
            searches?: string[] | null;
        } | null;
        ports?: {
            name: string;
            port?: number | null;
        }[] | null;
        checks?: {
            name?: string | null;
            type: "http" | "tcp";
            tls?: boolean | null;
            port: string;
            http?: {
                method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD" | null;
                body?: string | null;
                path?: string | null;
                headers?: unknown | null;
            } | null;
            interval: string;
            timeout: string;
            retries?: number | null;
            kind: "health" | "ready";
        }[] | null;
    };
    currentVersion: number;
    targetVersion: number;
    steps: {
        id: number;
        status: "progressing" | "pending" | "completed" | "failed";
        stepSize: {
            percentage: number;
        };
        description: string;
        startedAt?: string | null;
    }[];
    progress: {
        totalSteps: number;
        currentStep: number;
        updatedInstances: number;
        totalInstances: number;
    };
}
export declare const CreateContainerApplicationRolloutResponse: Schema.Schema<CreateContainerApplicationRolloutResponse>;
export type CreateContainerApplicationRolloutError = DefaultErrors | InvalidRoute | ContainerApplicationNotFound;
export declare const createContainerApplicationRollout: API.OperationMethod<CreateContainerApplicationRolloutRequest, CreateContainerApplicationRolloutResponse, CreateContainerApplicationRolloutError, Credentials | HttpClient.HttpClient>;
export interface GetContainerIdentityRequest {
    accountId: string;
}
export declare const GetContainerIdentityRequest: Schema.Schema<GetContainerIdentityRequest>;
export interface GetContainerIdentityResponse {
    accountId?: string | null;
    externalAccountId: string;
    legacyIdentity: string;
    capabilities?: string[] | null;
    limits: {
        accountId: string;
        vcpuPerDeployment: number;
        memoryMibPerDeployment: number;
        memoryPerDeployment: string;
        diskPerDeployment: string;
        diskMbPerDeployment: number;
        totalVcpu: number;
        totalMemoryMib: number;
        nodeGroup: string;
        ipv4s: number;
        networkModes: string[];
        totalDiskMb: number;
        totalMemory: string;
    };
    locations: unknown[];
    defaults: {
        vcpus: number;
        memoryMib: number;
        memory: string;
        diskMb: number;
    };
}
export declare const GetContainerIdentityResponse: Schema.Schema<GetContainerIdentityResponse>;
export type GetContainerIdentityError = DefaultErrors | InvalidRoute;
export declare const getContainerIdentity: API.OperationMethod<GetContainerIdentityRequest, GetContainerIdentityResponse, GetContainerIdentityError, Credentials | HttpClient.HttpClient>;
export interface CreateContainerRegistryCredentialsRequest {
    accountId: string;
    registryId: string;
    permissions: ("pull" | "push")[];
    expirationMinutes: number;
}
export declare const CreateContainerRegistryCredentialsRequest: Schema.Schema<CreateContainerRegistryCredentialsRequest>;
export interface CreateContainerRegistryCredentialsResponse {
    user?: string | null;
    username?: string | null;
    password: string;
}
export declare const CreateContainerRegistryCredentialsResponse: Schema.Schema<CreateContainerRegistryCredentialsResponse>;
export type CreateContainerRegistryCredentialsError = DefaultErrors | InvalidRoute;
export declare const createContainerRegistryCredentials: API.OperationMethod<CreateContainerRegistryCredentialsRequest, CreateContainerRegistryCredentialsResponse, CreateContainerRegistryCredentialsError, Credentials | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=containers.d.ts.map