import { Context, EditContextInput, ContextAllAttributes } from './types';
import { RequestClient } from './request/RequestClient';
import { AuthConfig } from '@sasjs/utils/types';
export declare class ContextManager {
    private serverUrl;
    private requestClient;
    private defaultComputeContexts;
    private defaultLauncherContexts;
    get getDefaultComputeContexts(): string[];
    get getDefaultLauncherContexts(): string[];
    constructor(serverUrl: string, requestClient: RequestClient);
    getComputeContexts(accessToken?: string): Promise<{
        createdBy: any;
        id: any;
        name: any;
        version: any;
        attributes: {};
    }[]>;
    getLauncherContexts(accessToken?: string): Promise<{
        createdBy: any;
        id: any;
        name: any;
        version: any;
        attributes: {};
    }[]>;
    createComputeContext(contextName: string, launchContextName: string, sharedAccountId: string, autoExecLines: string[], accessToken?: string, authorizedUsers?: string[]): Promise<Context>;
    createLauncherContext(contextName: string, description: string, launchType?: string, accessToken?: string): Promise<Context>;
    editComputeContext(contextName: string, editedContext: EditContextInput, accessToken?: string): Promise<{
        result: Context;
        etag: string;
    }>;
    getComputeContextByName(contextName: string, accessToken?: string): Promise<Context>;
    getComputeContextById(contextId: string, accessToken?: string): Promise<ContextAllAttributes>;
    getExecutableContexts(executeScript: Function, authConfig?: AuthConfig): Promise<any[]>;
    deleteComputeContext(contextName: string, accessToken?: string): Promise<{
        result: Context;
        etag: string;
    }>;
    private validateContextName;
    isDefaultContext(context: string, defaultContexts?: string[], errorMessage?: string, listDefaults?: boolean): void;
}
