export interface ApplicationVersion {
    name: string;
    displayName?: string;
    description?: string;
    createdDate: string;
    updatedDate: string;
}
export interface Application {
    name: string;
    displayName?: string;
    description?: string;
    createdDate: string;
    updatedDate: string;
    versions: ApplicationVersion[];
}
export interface CreateApplicationPayload {
    name?: string;
    displayName?: string;
    description?: string;
    group?: string;
    permissions?: any;
}
export interface CreateApplicationVersionPayload {
    nameSuffix: string;
    displayName?: string;
    description?: string;
}
export interface ServiceInstancesQueryParams {
    include: 'appConfigurationSchema' | 'appVersionConfigurationSchema';
}
export declare type ServiceUrlPrefix = string | null | undefined;
export interface ServiceInstance {
    description: string;
    name: string;
    serviceGroup: string;
    serviceName: string;
    urlPrefix?: ServiceUrlPrefix;
    appConfigurationSchemaPresent: boolean;
    appVersionConfigurationSchemaPresent: boolean;
}
export declare type ApplicationConfiguration = {
    [serviceType: string]: {
        kaa: {
            applications: Record<string, Record<string, any>>;
        };
    };
};
export interface CommonServiceConfiguration<Config = any> {
    [key: string]: any;
    versions?: {
        [versionName: string]: Config;
    };
}
export declare type FullConfiguration = {
    [serviceInstanceName: string]: {
        kaa: {
            applications: CommonServiceConfiguration;
        };
    };
};
export interface ApplicationConfigQueryParameters {
    serviceInstanceName?: string[];
}
export declare type ApplicationVersionConfiguration = {
    [serviceType: string]: {
        kaa: {
            applications: {
                [applicationName: string]: {
                    versions: Record<string, Record<string, any>>;
                };
            };
        };
    };
};
