import { SchemaModel } from '@contractspec/lib.schema';
import type { OperationSpec } from '../operations';
import type { OperationSpecRegistry } from '../operations/registry';
export declare const CreateTenantConfigDraftCommand: OperationSpec<SchemaModel<{
    tenantId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    appId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    blueprintName: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    blueprintVersion: {
        type: import("@contractspec/lib.schema").FieldType<number, number>;
        isOptional: false;
    };
    environment: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: true;
    };
    fromVersion: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: true;
    };
    createdBy: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
}>, SchemaModel<{
    version: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    status: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    createdAt: {
        type: import("@contractspec/lib.schema").FieldType<Date, string>;
        isOptional: false;
    };
}>, {
    ref: import("..").EventSpecMeta;
    when: string;
}[]>;
export declare const PromoteTenantConfigToPreviewCommand: OperationSpec<SchemaModel<{
    tenantId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    appId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    version: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    promotedBy: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
}>, SchemaModel<{
    version: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    status: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    warnings: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: true;
        isArray: true;
    };
}>, {
    ref: import("..").EventSpecMeta;
    when: string;
}[]>;
export declare const PublishTenantConfigCommand: OperationSpec<SchemaModel<{
    tenantId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    appId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    version: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    environment: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: true;
    };
    publishedBy: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    changeSummary: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: true;
    };
}>, SchemaModel<{
    version: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    status: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    previousVersion: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: true;
    };
    publishedAt: {
        type: import("@contractspec/lib.schema").FieldType<Date, string>;
        isOptional: false;
    };
}>, {
    ref: import("..").EventSpecMeta;
    when: string;
}[]>;
export declare const RollbackTenantConfigCommand: OperationSpec<SchemaModel<{
    tenantId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    appId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    toVersion: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    environment: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: true;
    };
    rolledBackBy: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    reason: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
}>, SchemaModel<{
    newVersion: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    status: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    rolledBackFrom: {
        type: import("@contractspec/lib.schema").FieldType<number, number>;
        isOptional: false;
    };
}>, {
    ref: import("..").EventSpecMeta;
    when: string;
}[]>;
export declare const ListTenantConfigVersionsQuery: OperationSpec<SchemaModel<{
    tenantId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    appId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
}>, SchemaModel<{
    versions: {
        type: SchemaModel<{
            meta: {
                type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
                isOptional: false;
            };
            config: {
                type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
                isOptional: false;
            };
        }>;
        isOptional: false;
        isArray: true;
    };
    transitions: {
        type: SchemaModel<{
            tenantId: {
                type: import("@contractspec/lib.schema").FieldType<string, string>;
                isOptional: false;
            };
            appId: {
                type: import("@contractspec/lib.schema").FieldType<string, string>;
                isOptional: false;
            };
            fromStatus: {
                type: import("@contractspec/lib.schema").FieldType<string, string>;
                isOptional: false;
            };
            toStatus: {
                type: import("@contractspec/lib.schema").FieldType<string, string>;
                isOptional: false;
            };
            version: {
                type: import("@contractspec/lib.schema").FieldType<string, string>;
                isOptional: false;
            };
            timestamp: {
                type: import("@contractspec/lib.schema").FieldType<Date, string>;
                isOptional: false;
            };
            actor: {
                type: import("@contractspec/lib.schema").FieldType<string, string>;
                isOptional: false;
            };
            reason: {
                type: import("@contractspec/lib.schema").FieldType<string, string>;
                isOptional: true;
            };
        }>;
        isOptional: true;
        isArray: true;
    };
}>, undefined>;
export declare const GetTenantConfigVersionQuery: OperationSpec<SchemaModel<{
    tenantId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    appId: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
    version: {
        type: import("@contractspec/lib.schema").FieldType<string, string>;
        isOptional: false;
    };
}>, SchemaModel<{
    version: {
        type: SchemaModel<{
            meta: {
                type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
                isOptional: false;
            };
            config: {
                type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
                isOptional: false;
            };
        }>;
        isOptional: false;
    };
}>, undefined>;
export declare const lifecycleContracts: Record<string, OperationSpec<any, any>>;
export declare function registerAppConfigLifecycleContracts(registry: OperationSpecRegistry): OperationSpecRegistry;
