import { Context, HttpResponseMovedPermanently, HttpResponseOK } from '@foal/core';
export interface GraphiQLControllerOptions {
    query?: string;
    variables?: string;
    headers?: string;
    externalFragments?: string;
    operationName?: string;
    response?: string;
    defaultQuery?: string;
    defaultVariableEditorOpen?: boolean;
    defaultSecondaryEditorOpen?: boolean;
    editorTheme?: string;
    readOnly?: boolean;
    docExplorerOpen?: boolean;
    headerEditorEnabled?: boolean;
    shouldPersistHeaders?: boolean;
}
/**
 * Controller to render a GraphiQL page.
 *
 * @export
 * @class GraphiQLController
 */
export declare class GraphiQLController {
    options: GraphiQLControllerOptions;
    apiEndpoint: string;
    cssThemeURL?: string;
    index(ctx: Context): Promise<HttpResponseMovedPermanently | HttpResponseOK<string>>;
    getReactProduction(): Promise<HttpResponseOK<any>>;
    getReactDomProduction(): Promise<HttpResponseOK<any>>;
    getGraphiqlCss(): Promise<HttpResponseOK<any>>;
    getGraphiqlJs(): Promise<HttpResponseOK<any>>;
    private createHttpResponseFile;
}
