export interface ApeContext {
    account: Account;
    project: Project;
    environment: Environment;
}
export interface Account {
    id: string;
    name: string;
    label?: string;
    createdOn: string;
    isSharingEnabled: boolean;
    isMfaEnforced: boolean;
    isSsoAutoJoinEnabled: boolean;
    requireSsoAuth: boolean;
    plan: "CUSTOM" | "FREE_V1" | "BUSINESS_V1" | "EMPLOYEE" | "BUILDER_V1";
    supportPin?: string;
    logoUrl: string | null;
    entitlements: {
        customDomains: number;
        aliasDomains: boolean;
        devPortalZuploBranding: boolean;
        egressGbPerMonth: number;
        kvStoreEnabled: boolean;
        numberOfApiKeys: number;
        numberOfProjects: number;
        numberOfUsers: number;
        requestsPerMonth: number;
        advancedAnalyticsEnabled: boolean;
        premiumSupport: boolean;
        emergencyPhoneSupport: boolean;
        rbacEnabled: boolean;
        mfaEnforcement: boolean;
        enterpriseSingleSignOn: boolean;
        auditLogsEnabled: boolean;
    };
    customDomainsInUse: number;
    tenantId: string | null;
}
export type ProjectType = "managed-edge" | "managed-dedicated" | "self-hosted";
export interface Project {
    sourceControlProvider: "GITHUB" | "GITLAB" | "BITBUCKET";
    accountName: string;
    name: string;
    productType: "standard" | "ai";
    createdOn: string;
    sourceRepoUrl: string | null;
    defaultBranch: string | null;
    /**
     * If there are any working copies for this project (across any user)
     */
    hasWorkingCopy: boolean;
    /**
     * If the current user has a working copy for this project
     */
    hasCurrentUserWorkingCopy: boolean;
    /**
     * Number of non-working copy environments deployed for this project
     */
    deployedEnvironmentCount: number;
    isProjectMember: boolean;
    id: string;
    type?: ProjectType;
}
export declare enum EnvironmentType {
    PRODUCTION = "PRODUCTION",
    PREVIEW = "PREVIEW",
    WORKING_COPY = "WORKING_COPY"
}
export type EnvironmentState = "IS_STARTING" | "STARTED" | "STOPPED" | "ERRORED" | "UNKNOWN" | "DELETE_SCHEDULED";
export interface Environment {
    /**
     * This is the semi-friendly unique name of the environment,
     * generally this is not shown to the user. Prefer `label`.
     */
    name: string;
    /**
     * The user facing name of the environment. This is essentially
     * the branch name or "working copy"
     */
    label: string;
    /**
     * This is not URL encoded, React-Router does not automatically
     * encode URI components, BUT it does decode them.
     */
    urlParameter: string;
    createdOn: number;
    accountName: string;
    projectName: string;
    state: EnvironmentState;
    message: string | null;
    /**
     * The raw git branch name. Null for working copies
     */
    branchName: string | null;
    environmentType: EnvironmentType;
    customDomain: string | undefined;
    lastDeployedOn?: string;
    updatedOn: number;
    deploymentVersion?: DeploymentLog;
}
/**
 * The state of the current deployment version
 */
export type DeploymentStageStatus = "failed" | "in-progress" | "success" | "skipped";
export type DeploymentStageName = "api" | "dev-portal";
export interface DeploymentStage {
    id: string;
    url: string;
    stage: DeploymentStageName;
    status: DeploymentStageStatus;
}
export interface DeploymentLog {
    id: string;
    createdOn: string;
    repoUrl: string;
    branch: string;
    sha: string;
    url?: string;
    traceId?: string;
    stages: DeploymentStage[];
}
//# sourceMappingURL=interfaces.portal.d.ts.map