import * as cdk from 'aws-cdk-lib';
import { Stack, StackProps } from 'aws-cdk-lib';
import { Repository } from 'aws-cdk-lib/aws-codecommit';
import * as pipelines from 'aws-cdk-lib/pipelines';
import * as constructs from 'constructs';
import { OrgPrincipalAware, SsoProps } from '../aws-org';
import { BudgetConfig } from '../budget';
import { CostReportingConfig } from '../cur';
import { SsoPermissionConfig } from '../sso-permissions';
export type ControlTowerPipelineProps<T extends string, S extends string> = SsoProps<T, S> & OrgPrincipalAware & StackProps;
export declare class ControlTowerPipeline<T extends string, S extends string> extends Stack {
    private props;
    readonly pipeline: pipelines.CodePipeline;
    readonly repository: Repository;
    constructor(scope: constructs.Construct, props: ControlTowerPipelineProps<T, S>);
    addStage(appStage: cdk.Stage, options?: pipelines.AddStageOpts): pipelines.StageDeployment;
    addSsoConfig(permissionsConfiguration?: SsoPermissionConfig<T, S>): void;
    addBillingConfig(budgetConfig?: BudgetConfig<T>, costReportConfig?: CostReportingConfig): void;
    addLogArchive(logArchiveAccount: T): void;
}
