import { SassSourceContext } from './file/sassFileContext';
import { SassOptionsInterface } from './options/sassOptions';
/**
 * Create interop interface around context.
 * (https://github.com/sass/libsass/blob/master/docs/api-context.md)
 *
 * @param asmModule
 */
declare const buildContext: (cwrapContext: {
    make_options: () => number;
    make_file_context: (inputPath: number) => number;
    make_data_context: (inputPath: number) => number;
    compile_file_context: (sassFileContextptr: number) => number;
    compile_data_context: (sassFileContextptr: number) => number;
    make_file_compiler: null;
    make_data_compiler: null;
    compiler_parse: null;
    compiler_execute: null;
    delete_compiler: null;
    delete_options: (sassOptionsPtr: number) => void;
    delete_file_context: (sassFileContextptr: number) => void;
    delete_data_context: (sassFileContextptr: number) => void;
    file_context_get_context: (sassFileCtxPtr: number) => number;
    data_context_get_context: (sassFileCtxPtr: number) => number;
    context_get_options: null;
    file_context_get_options: (sassFileCtxPtr: number) => number;
    data_context_get_options: (sassFileCtxPtr: number) => number;
    file_context_set_options: (sassFileCtxPtr: number, sassOptionsPtr: number) => void;
    data_context_set_options: (sassFileCtxPtr: number, sassOptionsPtr: number) => void;
    context_get_output_string: (sassContextPtr: number) => number;
    context_get_error_status: (sassContextPtr: number) => number;
    context_get_error_json: (sassContextPtr: number) => number;
    context_get_error_text: (sassContextPtr: number) => number;
    context_get_error_message: (sassContextPtr: number) => number;
    context_get_error_file: null;
    context_get_error_line: null;
    context_get_error_column: null;
    context_get_source_map_string: (sassContextPtr: number) => number;
    context_get_included_files: null;
    compiler_get_import_stack_size: null;
    compiler_get_last_import: null;
    compiler_get_import_entry: null;
    compiler_get_callee_stack_size: null;
    compiler_get_last_callee: null;
    compiler_get_callee_entry: null;
    context_take_error_json: null;
    context_take_error_text: null;
    context_take_error_message: null;
    context_take_error_file: null;
    context_take_output_string: null;
    context_take_source_map_string: null;
}, cwrapOptions: {
    option_get_precision: (sassOptionsPtr: number) => number;
    option_get_output_style: (sassOptionsPtr: number) => number;
    option_get_source_comments: (sassOptionsPtr: number) => boolean;
    option_get_source_map_embed: (sassOptionsPtr: number) => boolean;
    option_get_source_map_contents: null;
    option_get_source_map_file_urls: null;
    option_get_omit_source_map_url: (sassOptionsPtr: number) => boolean;
    option_get_is_indented_syntax_src: (sassOptionsPtr: number) => boolean;
    option_get_indent: null;
    option_get_linefeed: null;
    option_get_input_path: (sassOptionsPtr: number) => number;
    option_get_output_path: (sassOptionsPtr: number) => number;
    option_get_source_map_file: (sassOptionsPtr: number) => number;
    option_get_source_map_root: null;
    option_get_c_headers: null;
    option_get_c_importers: (sassOptionsPtr: number) => number;
    option_get_c_functions: null;
    option_get_include_path_size: null;
    option_get_include_path: null;
    option_get_plugin_path_size: () => never;
    option_get_plugin_path: () => never;
    option_set_precision: (sassOptionsPtr: number, precision: number) => void;
    option_set_output_style: (sassOptionsPtr: number, style: number) => void;
    option_set_source_comments: (sassOptionsPtr: number, enabled: boolean) => void;
    option_set_source_map_embed: (sassOptionsPtr: number, embed: boolean) => void;
    option_set_source_map_contents: null;
    option_set_source_map_file_urls: null;
    option_set_omit_source_map_url: (sassOptionsPtr: number, isOmitted: boolean) => void;
    option_set_is_indented_syntax_src: (sassOptionsPtr: number, isIndented: boolean) => void;
    option_set_indent: null;
    option_set_linefeed: null;
    option_set_input_path: (sassOptionsPtr: number, outPath: number) => void;
    option_set_output_path: (sassOptionsPtr: number, outPath: number) => void;
    option_set_plugin_path: null;
    option_set_include_path: null;
    option_set_source_map_file: (sassOptionsPtr: number, mapFile: number) => void;
    option_set_source_map_root: null;
    option_set_c_headers: null;
    option_set_c_importers: (sassOptionsPtr: number, importersList: number) => void;
    option_set_c_functions: null;
    option_push_plugin_path: (sassOptionsPtr: number, path: number) => void;
    option_push_include_path: (sassOptionsPtr: number, path: number) => void;
    find_file: null;
    find_include: null;
    compiler_find_file: null;
    compiler_find_include: null;
}, cwrapImporter: {
    make_importer: (importFnPtr: number, priority: number, cookie: number) => number;
    importer_get_function: (importCallbackPtr: number) => number;
    importer_get_cookie: (importCallbackPtr: number) => number;
    delete_importer: (importCallbackPtr: number) => null;
    make_import_list: (length: number) => number;
    make_import_entry: (path: number, source: number, srcmap: number) => number;
    make_import: (rel: number, abs: number, source: number, srcmap: number) => number;
    import_set_error: (importEntryPtr: number, message: number, line: number, col: number) => number;
    import_set_list_entry: (importEntryList: number, idx: number, entry: number) => null;
    import_get_list_entry: (importEntryList: number, idx: number) => number;
    import_get_imp_path: (importEntryPtr: number) => number;
    import_get_abs_path: (importEntryPtr: number) => number;
    import_get_source: (importEntryPtr: number) => number;
    import_get_srcmap: (importEntryPtr: number) => number;
    import_take_source: (importEntryPtr: number) => number;
    import_take_srcmap: (importEntryPtr: number) => number;
    import_get_error_line: (importEntryPtr: number) => number;
    import_get_error_column: (importEntryPtr: number) => number;
    import_get_error_message: (importEntryPtr: number) => number;
    delete_import_list: (importEntryList: number) => void;
    delete_import: (importEntryPtr: number) => void;
}, interop: {
    str: import("../../../../../../Users/ojkwon/github/libsass-asm/src/interop/interopUtility").StringMethodInterface;
    mount: (dirPath: string) => string;
    unmount: (mountedPath: string) => void;
    free: (ptr: number) => void;
}) => {
    options: {
        create: () => SassOptionsInterface;
    };
    file: {
        create: (inputPath: string) => SassSourceContext;
    };
    data: {
        create: (input: string) => SassSourceContext;
    };
};
export { buildContext };
