type SortableValue = string | number | boolean | null | undefined | SortableObject | SortableArray;
interface SortableObject {
    [key: string]: SortableValue;
}
interface SortableArray extends Array<SortableValue> {
}
type KeyProviderKind = "none" | "kms" | "local" | "tpm";
interface DockerConfig extends SortableObject {
    registry?: string;
    username?: string;
    token_key?: string;
}
interface AppCompose extends SortableObject {
    manifest_version?: number;
    name?: string;
    features?: string[];
    runner: string;
    docker_compose_file?: string;
    docker_config?: DockerConfig;
    public_logs?: boolean;
    public_sysinfo?: boolean;
    public_tcbinfo?: boolean;
    kms_enabled?: boolean;
    gateway_enabled?: boolean;
    tproxy_enabled?: boolean;
    local_key_provider_enabled?: boolean;
    key_provider?: KeyProviderKind;
    key_provider_id?: string;
    allowed_envs?: string[];
    no_instance_id?: boolean;
    secure_time?: boolean;
    bash_script?: string;
    pre_launch_script?: string;
}
declare function getComposeHash(app_compose: AppCompose, normalize?: boolean): string;

export { type AppCompose, type DockerConfig, type KeyProviderKind, getComposeHash };
