export declare const WORKSPACE_CODES: {
    readonly PATH_ESCAPE: "WORKSPACE_PATH_ESCAPE";
    readonly PATH_DENIED: "WORKSPACE_PATH_DENIED";
    readonly NOT_FOUND: "WORKSPACE_NOT_FOUND";
    readonly FILE_TOO_LARGE: "WORKSPACE_FILE_TOO_LARGE";
    readonly READ_FAILED: "WORKSPACE_READ_FAILED";
    readonly REPO_SEARCH_INVALID_QUERY: "WORKSPACE_REPO_SEARCH_INVALID_QUERY";
    readonly REPO_SEARCH_INVALID_RANGE: "WORKSPACE_REPO_SEARCH_INVALID_RANGE";
    readonly REPO_SEARCH_UNSUPPORTED_FILE: "WORKSPACE_REPO_SEARCH_UNSUPPORTED_FILE";
};
export type WorkspaceCode = (typeof WORKSPACE_CODES)[keyof typeof WORKSPACE_CODES];
export declare abstract class WorkspaceError extends Error {
    abstract readonly code: WorkspaceCode;
    constructor(message: string, secrets?: readonly string[]);
}
export declare class PathEscapeError extends WorkspaceError {
    readonly code: "WORKSPACE_PATH_ESCAPE";
    readonly requestedPath: string;
    constructor(message: string, requestedPath: string, secrets?: readonly string[]);
}
export declare class PathDeniedError extends WorkspaceError {
    readonly code: "WORKSPACE_PATH_DENIED";
    readonly requestedPath: string;
    constructor(message: string, requestedPath: string, secrets?: readonly string[]);
}
export declare class WorkspaceNotFoundError extends WorkspaceError {
    readonly code: "WORKSPACE_NOT_FOUND";
    readonly startDir: string;
    constructor(message: string, startDir: string, secrets?: readonly string[]);
}
export declare class FileTooLargeError extends WorkspaceError {
    readonly code: "WORKSPACE_FILE_TOO_LARGE";
    readonly requestedPath: string;
    readonly sizeBytes: number;
    readonly limitBytes: number;
    constructor(message: string, requestedPath: string, sizeBytes: number, limitBytes: number, secrets?: readonly string[]);
}
export declare class WorkspaceReadError extends WorkspaceError {
    readonly code: "WORKSPACE_READ_FAILED";
    readonly requestedPath: string;
    constructor(message: string, requestedPath: string, secrets?: readonly string[]);
}
export declare class RepoSearchInvalidQueryError extends WorkspaceError {
    readonly code: "WORKSPACE_REPO_SEARCH_INVALID_QUERY";
    constructor(message: string, secrets?: readonly string[]);
}
export declare class RepoSearchInvalidRangeError extends WorkspaceError {
    readonly code: "WORKSPACE_REPO_SEARCH_INVALID_RANGE";
    constructor(message: string, secrets?: readonly string[]);
}
export declare class RepoSearchUnsupportedFileError extends WorkspaceError {
    readonly code: "WORKSPACE_REPO_SEARCH_UNSUPPORTED_FILE";
    readonly reason: string;
    constructor(message: string, reason: string, secrets?: readonly string[]);
}
//# sourceMappingURL=workspace.d.ts.map