export interface UserTokenAuth {
    type: 'basic';
    token?: string | undefined;
    cookie?: string | undefined;
}
export interface OAuthAuth {
    type: 'oauth';
    token: string;
}
export interface KaaJWTAuth {
    type: 'kaa_jwt';
    token: string;
}
export type ResolvedAuth = UserTokenAuth | OAuthAuth | KaaJWTAuth;
interface BaseCredential {
    instanceUrl: URL;
}
export type UserTokenCredential = BaseCredential & UserTokenAuth;
export type OAuthCredential = BaseCredential & OAuthAuth;
export type KaaJWTCredential = BaseCredential & KaaJWTAuth;
export type Credential = UserTokenCredential | OAuthCredential | KaaJWTCredential;
export declare class LazyCredential {
    private readonly instanceUrl;
    private readonly authResolver;
    private resolveAuthPromise?;
    constructor(instanceUrl: URL, authResolver: () => Promise<ResolvedAuth> | ResolvedAuth);
    getUrl(): URL;
    private resolveAuth;
    getSysParmCk(): Promise<string>;
    getHeaders(): Promise<Record<string, string>>;
}
export {};
