import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get infomation about an existing Google Cloud Source Repository.
 * For more information see [the official documentation](https://cloud.google.com/source-repositories)
 * and
 * [API](https://cloud.google.com/source-repositories/docs/reference/rest/v1/projects.repos).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = gcp.sourcerepo.getRepository({
 *     name: "my-repository",
 * });
 * ```
 */
export declare function getRepository(args: GetRepositoryArgs, opts?: pulumi.InvokeOptions): Promise<GetRepositoryResult>;
/**
 * A collection of arguments for invoking getRepository.
 */
export interface GetRepositoryArgs {
    /**
     * Resource name of the repository. The repo name may contain slashes. eg, `name/with/slash`
     */
    name: string;
    /**
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getRepository.
 */
export interface GetRepositoryResult {
    readonly createIgnoreAlreadyExists: boolean;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    readonly project?: string;
    readonly pubsubConfigs: outputs.sourcerepo.GetRepositoryPubsubConfig[];
    readonly size: number;
    readonly url: string;
}
/**
 * Get infomation about an existing Google Cloud Source Repository.
 * For more information see [the official documentation](https://cloud.google.com/source-repositories)
 * and
 * [API](https://cloud.google.com/source-repositories/docs/reference/rest/v1/projects.repos).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_repo = gcp.sourcerepo.getRepository({
 *     name: "my-repository",
 * });
 * ```
 */
export declare function getRepositoryOutput(args: GetRepositoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRepositoryResult>;
/**
 * A collection of arguments for invoking getRepository.
 */
export interface GetRepositoryOutputArgs {
    /**
     * Resource name of the repository. The repo name may contain slashes. eg, `name/with/slash`
     */
    name: pulumi.Input<string>;
    /**
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
}
