import { ActionResult } from "../../action/ActionResult";
import { Configurable } from "../../project/git/Configurable";
import { AbstractRemoteRepoRef } from "./AbstractRemoteRepoRef";
import { ProjectOperationCredentials } from "./ProjectOperationCredentials";
/**
 * RemoteRepoRef implementation for BitBucket server (not BitBucket Cloud)
 */
export declare class BitBucketServerRepoRef extends AbstractRemoteRepoRef {
    private readonly isProject;
    readonly ownerType: "projects" | "users";
    private httpStrategy;
    /**
     * Construct a new BitBucketServerRepoRef
     * @param {string} remoteBase remote base, including scheme
     * @param {string} owner
     * @param {string} repo
     * @param {boolean} isProject
     * @param {string} sha
     * @param {string} path
     */
    constructor(remoteBase: string, owner: string, repo: string, isProject?: boolean, sha?: string, path?: string);
    createRemote(creds: ProjectOperationCredentials, description: string, visibility: any): Promise<ActionResult<this>>;
    deleteRemote(creds: ProjectOperationCredentials): Promise<ActionResult<this>>;
    setUserConfig(credentials: ProjectOperationCredentials, project: Configurable): Promise<ActionResult<any>>;
    raisePullRequest(credentials: ProjectOperationCredentials, title: string, body: string, head: string, base: string): Promise<ActionResult<this>>;
    readonly url: string;
    readonly pathComponent: string;
    private readonly maybeTilde;
    private readonly apiBasePathComponent;
    readonly apiPathComponent: string;
}
//# sourceMappingURL=BitBucketServerRepoRef.d.ts.map