export type ComposeFile = { services: Record; volumes?: Record; networks?: Record; configs?: Record; secrets?: Record; }; export type Service = { build?: Build; cap_add?: string[]; cap_drop?: string[]; cgroup_parent?: string; command?: string | string[]; configs?: Array; container_name?: string; depends_on?: string[]; deploy?: Deploy; device_cgroup_rules?: string[]; devices?: string[]; dns?: string | string[]; dns_search?: string | string[]; domainname?: string; entrypoint?: string | string[]; environment?: Record | string[]; expose?: string[]; extends?: string | { file: string; service: string; }; external_links?: string[]; extra_hosts?: Record; healthcheck?: Healthcheck; hostname?: string; image?: string; init?: boolean; ipc?: string; isolation?: string; labels?: Record; links?: string[]; logging?: Logging; networks?: Array; pid?: string; ports?: Array; privileged?: boolean; profiles?: string[]; read_only?: boolean; restart?: 'no' | 'always' | 'on-failure' | 'unless-stopped'; runtime?: string; scale?: number; security_opt?: string[]; shm_size?: string; secrets?: Array; stdin_open?: boolean; stop_grace_period?: string; stop_signal?: string; tmpfs?: string[]; tty?: boolean; ulimits?: Ulimits; user?: string; userns_mode?: string; volumes?: Array; working_dir?: string; }; export type Build = { context: string; dockerfile?: string; args?: Record; cache_from?: string[]; labels?: Record; network?: string; shm_size?: string; target?: string; }; export type Config = { name: string; file?: string; external?: boolean | { name: string; }; labels?: Record; }; export type ConfigReference = { source: string; target?: string; uid?: string; gid?: string; mode?: number; }; export type Deploy = { mode?: string; replicas?: number; labels?: Record; update_config?: UpdateConfig; rollback_config?: RollbackConfig; resources?: Resources; restart_policy?: RestartPolicy; placement?: Placement; endpoint_mode?: string; }; export type UpdateConfig = { parallelism?: number; delay?: string; failure_action?: string; monitor?: string; max_failure_ratio?: number; order?: string; }; export type RollbackConfig = { parallelism?: number; delay?: string; failure_action?: string; monitor?: string; max_failure_ratio?: number; order?: string; }; export type Resources = { limits?: Resource; reservations?: Resource; }; export type Resource = { cpus?: string; memory?: string; }; export type RestartPolicy = { condition?: string; delay?: string; max_attempts?: number; window?: string; }; export type Placement = { constraints?: string[]; preferences?: PlacementPreference[]; max_replicas_per_node?: number; }; export type PlacementPreference = { spread: string; }; export type Healthcheck = { test?: string[]; interval?: string; timeout?: string; retries?: number; start_period?: string; disable?: boolean; }; export type Logging = { driver: string; options?: Record; }; export type NetworkReference = { aliases?: string[]; ipv4_address?: string; ipv6_address?: string; link_local_ips?: string[]; priority?: number; }; export type Port = { target: number; published?: number; protocol?: string; mode?: string; }; export type Ulimits = { nproc?: number; nofile?: { soft: number; hard: number; }; }; export type VolumeMount = { type?: string; source?: string; target: string; read_only?: boolean; consistency?: string; bind?: Bind; volume?: VolumeOptions; tmpfs?: TmpfsOptions; }; export type Bind = { propagation?: string; create_host_path?: boolean; }; export type VolumeOptions = { nocopy?: boolean; }; export type TmpfsOptions = { size?: number; }; export type Volume = { driver?: string; driver_opts?: Record; external?: boolean | { name: string; }; labels?: Record; name?: string; }; export type Network = { driver?: string; driver_opts?: Record; external?: boolean | { name: string; }; labels?: Record; name?: string; attachable?: boolean; enable_ipv6?: boolean; internal?: boolean; ipam?: IPAM; }; export type IPAM = { driver?: string; config?: IPAMConfig[]; options?: Record; }; export type IPAMConfig = { subnet?: string; ip_range?: string; gateway?: string; aux_addresses?: Record; }; export type Secret = { name: string; file?: string; external?: boolean | { name: string; }; labels?: Record; driver?: string; driver_opts?: Record; }; export type SecretReference = { source: string; target?: string; uid?: string; gid?: string; mode?: number; }; //# sourceMappingURL=compose.types.d.ts.map