import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Access, Access$Outbound } from "./access.js";
import { BranchRep, BranchRep$Outbound } from "./branchrep.js";
/**
 * The type of repository
 */
export declare const RepositoryRepType: {
    readonly Bitbucket: "bitbucket";
    readonly Custom: "custom";
    readonly Github: "github";
    readonly Gitlab: "gitlab";
};
/**
 * The type of repository
 */
export type RepositoryRepType = ClosedEnum<typeof RepositoryRepType>;
export type RepositoryRep = {
    /**
     * The repository name
     */
    name: string;
    /**
     * A URL to access the repository
     */
    sourceLink?: string | undefined;
    /**
     * A template for constructing a valid URL to view the commit
     */
    commitUrlTemplate?: string | undefined;
    /**
     * A template for constructing a valid URL to view the hunk
     */
    hunkUrlTemplate?: string | undefined;
    /**
     * The type of repository
     */
    type: RepositoryRepType;
    /**
     * The repository's default branch
     */
    defaultBranch: string;
    /**
     * Whether or not a repository is enabled for code reference scanning
     */
    enabled: boolean;
    /**
     * The version of the repository's saved information
     */
    version: number;
    /**
     * An array of the repository's branches that have been scanned for code references
     */
    branches?: Array<BranchRep> | undefined;
    links: {
        [k: string]: any;
    };
    access?: Access | undefined;
};
/** @internal */
export declare const RepositoryRepType$inboundSchema: z.ZodNativeEnum<typeof RepositoryRepType>;
/** @internal */
export declare const RepositoryRepType$outboundSchema: z.ZodNativeEnum<typeof RepositoryRepType>;
/** @internal */
export declare const RepositoryRep$inboundSchema: z.ZodType<RepositoryRep, z.ZodTypeDef, unknown>;
/** @internal */
export type RepositoryRep$Outbound = {
    name: string;
    sourceLink?: string | undefined;
    commitUrlTemplate?: string | undefined;
    hunkUrlTemplate?: string | undefined;
    type: string;
    defaultBranch: string;
    enabled: boolean;
    version: number;
    branches?: Array<BranchRep$Outbound> | undefined;
    _links: {
        [k: string]: any;
    };
    _access?: Access$Outbound | undefined;
};
/** @internal */
export declare const RepositoryRep$outboundSchema: z.ZodType<RepositoryRep$Outbound, z.ZodTypeDef, RepositoryRep>;
export declare function repositoryRepToJSON(repositoryRep: RepositoryRep): string;
export declare function repositoryRepFromJSON(jsonString: string): SafeParseResult<RepositoryRep, SDKValidationError>;
//# sourceMappingURL=repositoryrep.d.ts.map