export interface CreateRepositoryRequest {
    name: string;
    owner: string;
    configFileDirectory: string;
    defaultBranch: string;
    protectDefaultBranch: boolean;
    installationId?: string;
    provider: VcsProvider;
}
export interface FetchAppFlobsRequest {
    path: string;
    branch: string;
    repo: string;
    owner: string;
    installationId?: string;
    provider: VcsProvider;
}
export declare enum RepositoryEntityType {
    APPLICATION = "application",
    WORKFLOW = "workflow",
    SCHEDULED_JOB = "scheduled_job"
}
export interface UpdateBranchProtectionRequest {
    protected: boolean;
}
export interface RepositoryDto {
    id: string;
    name: string;
    owner: string;
    configFileDirectory: string;
    defaultBranch: string;
    githubInstallationId: string | null;
    provider: VcsProvider;
}
export type GitToken = {
    id: string;
    token: string;
    instanceUrl?: string;
    provider: VcsProvider;
    organizationId: string;
};
export declare enum VcsProvider {
    GITHUB = "github",
    GITLAB = "gitlab",
    AZURE_DEVOPS = "azure_devops"
}
export type GitLabInstanceType = 'cloud' | 'self-hosted';
export interface RepositoryWithEntitiesDto extends RepositoryDto {
    entities: {
        id: string;
        name: string;
        type: RepositoryEntityType;
        lastSyncedTo: Date;
        devEnvEnabled?: boolean;
    }[];
}
export declare const getGitProviderBaseUrl: (provider?: VcsProvider, token?: GitToken) => string;
export declare const getRepositoryUrl: (repository: RepositoryDto, token?: GitToken) => string;
//# sourceMappingURL=index.d.ts.map