import { Logger } from '../services/logger.js';
export interface LookerClientConfig {
    lOOKERCLIENTCREDENTIALS?: string;
    timeout?: number;
    rateLimit?: number;
    authToken?: string;
    logger?: Logger;
}
export declare class LookerClient {
    private httpClient;
    private config;
    private sessionId;
    private logger;
    constructor(config: LookerClientConfig);
    private setupRateLimit;
    private resolveBaseUrl;
    private getAuthHeaders;
    /**
     * Initialize the client (for OAuth clients that need initialization)
     */
    initialize(): Promise<void>;
    /**
     * Get the session ID for this client instance
     */
    getSessionId(): string;
    /**
     * Make an authenticated request with proper headers
     */
    private makeAuthenticatedRequest;
    private buildPath;
    login(params: any): Promise<any>;
    logout(params: any): Promise<any>;
    me(params: any): Promise<any>;
    listUsers(params: any): Promise<any>;
    createUser(params: any): Promise<any>;
    updateUser(params: any): Promise<any>;
    listDashboards(params: any): Promise<any>;
    getDashboard(params: any): Promise<any>;
    createDashboard(params: any): Promise<any>;
    updateDashboard(params: any): Promise<any>;
    deleteDashboard(params: any): Promise<any>;
    listLooks(params: any): Promise<any>;
    getLook(params: any): Promise<any>;
    runLook(params: any): Promise<any>;
    createLook(params: any): Promise<any>;
    listQueries(params: any): Promise<any>;
    getQuery(params: any): Promise<any>;
    createQuery(params: any): Promise<any>;
    runQuery(params: any): Promise<any>;
    runInlineQuery(params: any): Promise<any>;
    listSpaces(params: any): Promise<any>;
    getSpace(params: any): Promise<any>;
    createSpace(params: any): Promise<any>;
    listFolders(params: any): Promise<any>;
    getFolder(params: any): Promise<any>;
    createFolder(params: any): Promise<any>;
    createQueryTask(params: any): Promise<any>;
    getQueryTask(params: any): Promise<any>;
    getQueryTaskResults(params: any): Promise<any>;
    listModels(params: any): Promise<any>;
    getModel(params: any): Promise<any>;
    listExplores(params: any): Promise<any>;
    getExplore(params: any): Promise<any>;
    searchDashboards(params: any): Promise<any>;
    renderTaskResults(params: any): Promise<any>;
}
//# sourceMappingURL=looker-client.d.ts.map