import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Repository resource in Oracle Cloud Infrastructure Devops service.
 *
 * Retrieves a repository by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testRepository = oci.devops.getRepository({
 *     repositoryId: testRepositoryOciDevopsRepository.id,
 *     fields: repositoryFields,
 * });
 * ```
 */
export declare function getRepository(args: GetRepositoryArgs, opts?: pulumi.InvokeOptions): Promise<GetRepositoryResult>;
/**
 * A collection of arguments for invoking getRepository.
 */
export interface GetRepositoryArgs {
    /**
     * Fields parameter can contain multiple flags useful in deciding the API functionality.
     */
    fields?: string[];
    /**
     * Unique repository identifier.
     */
    repositoryId: string;
}
/**
 * A collection of values returned by getRepository.
 */
export interface GetRepositoryResult {
    /**
     * The count of the branches present in the repository.
     */
    readonly branchCount: number;
    /**
     * The count of the commits present in the repository.
     */
    readonly commitCount: number;
    /**
     * The OCID of the repository's compartment.
     */
    readonly compartmentId: string;
    /**
     * The default branch of the repository.
     */
    readonly defaultBranch: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. See [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"foo-namespace.bar-key": "value"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * Details of the repository. Avoid entering confidential information.
     */
    readonly description: string;
    readonly fields?: string[];
    /**
     * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.  See [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * HTTP URL that you use to git clone, pull and push.
     */
    readonly httpUrl: string;
    /**
     * The OCID of the repository. This value is unique and immutable.
     */
    readonly id: string;
    /**
     * A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
     */
    readonly lifecyleDetails: string;
    /**
     * Configuration information for mirroring the repository.
     */
    readonly mirrorRepositoryConfigs: outputs.DevOps.GetRepositoryMirrorRepositoryConfig[];
    /**
     * Name of the repository. Should be unique within the project. This value is mutable.
     */
    readonly name: string;
    /**
     * Tenancy unique namespace.
     */
    readonly namespace: string;
    /**
     * The OCID of the parent repository.
     */
    readonly parentRepositoryId: string;
    /**
     * The OCID of the DevOps project containing the repository.
     */
    readonly projectId: string;
    /**
     * Unique project name in a namespace.
     */
    readonly projectName: string;
    readonly repositoryId: string;
    /**
     * Type of repository: MIRRORED - Repository created by mirroring an existing repository. HOSTED - Repository created and hosted using Oracle Cloud Infrastructure DevOps code repository. FORKED - Repository created by forking an existing repository.
     */
    readonly repositoryType: string;
    /**
     * The size of the repository in bytes.
     */
    readonly sizeInBytes: string;
    /**
     * SSH URL that you use to git clone, pull and push.
     */
    readonly sshUrl: string;
    /**
     * The current state of the repository.
     */
    readonly state: string;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. See [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * The time the repository was created. Format defined by [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339).
     */
    readonly timeCreated: string;
    /**
     * The time the repository was updated. Format defined by [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339).
     */
    readonly timeUpdated: string;
    /**
     * Trigger build events supported for this repository: PUSH - Build is triggered when a push event occurs. PULL_REQUEST_CREATED - Build is triggered when a pull request is created in the repository. PULL_REQUEST_UPDATED - Build is triggered when a push is made to a branch with an open pull request. COMMIT_UPDATES - Build is triggered when new commits are mirrored into a repository.
     */
    readonly triggerBuildEvents: string[];
}
/**
 * This data source provides details about a specific Repository resource in Oracle Cloud Infrastructure Devops service.
 *
 * Retrieves a repository by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testRepository = oci.devops.getRepository({
 *     repositoryId: testRepositoryOciDevopsRepository.id,
 *     fields: repositoryFields,
 * });
 * ```
 */
export declare function getRepositoryOutput(args: GetRepositoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRepositoryResult>;
/**
 * A collection of arguments for invoking getRepository.
 */
export interface GetRepositoryOutputArgs {
    /**
     * Fields parameter can contain multiple flags useful in deciding the API functionality.
     */
    fields?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Unique repository identifier.
     */
    repositoryId: pulumi.Input<string>;
}
//# sourceMappingURL=getRepository.d.ts.map