type AugmentErrorOptions<ErrorParameters extends unknown[], AdditionalErrorOptions> = ErrorParameters extends [(infer Message)?] ? [Message?, AdditionalErrorOptions?] : ErrorParameters extends [(infer Message)?, (infer ErrorOptions)?] ? [Message?, (ErrorOptions & AdditionalErrorOptions)?] : ErrorParameters extends [
    (infer Message)?,
    (infer ErrorOptions)?,
    ...infer Rest
] ? [Message?, (ErrorOptions & AdditionalErrorOptions)?, ...Rest] : never;
interface IErrorDetail {
    field?: string;
    code?: string;
    message?: string;
    documentation_url: string;
}
interface ILookerSDKErrorOptions {
    errors?: IErrorDetail[];
    documentation_url?: string | null;
}
interface ILookerSDKErrorConstructor {
    new (...args: AugmentErrorOptions<ConstructorParameters<ErrorConstructor>, ILookerSDKErrorOptions>): LookerSDKError;
    (...args: AugmentErrorOptions<Parameters<ErrorConstructor>, ILookerSDKErrorOptions>): LookerSDKError;
}
export interface LookerSDKError extends Error {
    errors?: IErrorDetail[];
    documentation_url?: string | null;
}
export declare const LookerSDKError: ILookerSDKErrorConstructor;
export {};
