import * as core from "@terrascript/core";
export interface AutoBranchCreationConfigArgs extends core.SchemaArgs {
    basicAuthCredentials?: string | core.StringOut;
    buildSpec?: string | core.StringOut;
    enableAutoBuild?: boolean | core.BooleanOut;
    enableBasicAuth?: boolean | core.BooleanOut;
    enablePerformanceMode?: boolean | core.BooleanOut;
    enablePullRequestPreview?: boolean | core.BooleanOut;
    environmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    framework?: string | core.StringOut;
    pullRequestEnvironmentName?: string | core.StringOut;
    stage?: string | core.StringOut;
}
export declare class AutoBranchCreationConfig extends core.Schema<AutoBranchCreationConfigArgs> {
    basicAuthCredentials?: string | core.StringOut;
    buildSpec?: string | core.StringOut;
    enableAutoBuild?: boolean | core.BooleanOut;
    enableBasicAuth?: boolean | core.BooleanOut;
    enablePerformanceMode?: boolean | core.BooleanOut;
    enablePullRequestPreview?: boolean | core.BooleanOut;
    environmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    framework?: string | core.StringOut;
    pullRequestEnvironmentName?: string | core.StringOut;
    stage?: string | core.StringOut;
}
export interface CustomRuleArgs extends core.SchemaArgs {
    condition?: string | core.StringOut;
    source: string | core.StringOut;
    status?: string | core.StringOut;
    target: string | core.StringOut;
}
export declare class CustomRule extends core.Schema<CustomRuleArgs> {
    condition?: string | core.StringOut;
    source: string | core.StringOut;
    status?: string | core.StringOut;
    target: string | core.StringOut;
}
export interface ProductionBranchArgs extends core.SchemaArgs {
    branchName: string | core.StringOut;
    lastDeployTime: string | core.StringOut;
    status: string | core.StringOut;
    thumbnailUrl: string | core.StringOut;
}
export declare class ProductionBranch extends core.Schema<ProductionBranchArgs> {
    branchName: string | core.StringOut;
    lastDeployTime: string | core.StringOut;
    status: string | core.StringOut;
    thumbnailUrl: string | core.StringOut;
}
export interface AppArgs extends core.ResourceArgs {
    accessToken?: string | core.StringOut;
    autoBranchCreationConfig?: AutoBranchCreationConfig;
    autoBranchCreationPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    basicAuthCredentials?: string | core.StringOut;
    buildSpec?: string | core.StringOut;
    customRule?: core.Array<CustomRule> | core.ArrayOut<CustomRule>;
    description?: string | core.StringOut;
    enableAutoBranchCreation?: boolean | core.BooleanOut;
    enableBasicAuth?: boolean | core.BooleanOut;
    enableBranchAutoBuild?: boolean | core.BooleanOut;
    enableBranchAutoDeletion?: boolean | core.BooleanOut;
    environmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    iamServiceRoleArn?: string | core.StringOut;
    name: string | core.StringOut;
    oauthToken?: string | core.StringOut;
    platform?: string | core.StringOut;
    repository?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class App extends core.Resource<AppArgs> {
    accessToken?: string | core.StringOut;
    arn: string | core.StringOut;
    autoBranchCreationConfig?: AutoBranchCreationConfig;
    autoBranchCreationPatterns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    basicAuthCredentials?: string | core.StringOut;
    buildSpec?: string | core.StringOut;
    customRule?: core.Array<CustomRule> | core.ArrayOut<CustomRule>;
    defaultDomain: string | core.StringOut;
    description?: string | core.StringOut;
    enableAutoBranchCreation?: boolean | core.BooleanOut;
    enableBasicAuth?: boolean | core.BooleanOut;
    enableBranchAutoBuild?: boolean | core.BooleanOut;
    enableBranchAutoDeletion?: boolean | core.BooleanOut;
    environmentVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    iamServiceRoleArn?: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    oauthToken?: string | core.StringOut;
    platform?: string | core.StringOut;
    productionBranch: core.Array<ProductionBranch> | core.ArrayOut<ProductionBranch>;
    repository?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: AppArgs);
    getNamespace(): string;
}
//# sourceMappingURL=app.d.ts.map