import { MaybeRef, Ref } from 'vue';
import { IRequestSettings, IStaticRequest, Jsonp } from '@vtj/utils';
import { Access, AccessOptions } from '../plugins';
export type UseTitle = (newTitle?: MaybeRef<string | null | undefined>, options?: Record<string, any>) => Ref<string | null | undefined>;
export interface CreateAdapterOptions {
    notify?: (msg: string, title?: string, type?: any) => void;
    loading?: () => any;
    settings?: IRequestSettings;
    Startup?: any;
    access?: Partial<AccessOptions>;
    useTitle?: UseTitle;
    alert?: (msg: string, opt?: any) => any;
}
export interface ProvideAdapter {
    request: IStaticRequest;
    jsonp: Jsonp;
    metaQuery?: (...args: any[]) => Promise<any>;
    access?: Access;
    startupComponent?: any;
    useTitle?: UseTitle;
    alert?: (msg: string, opt?: any) => any;
    notify?: (msg: string, title?: string, type?: any) => void;
    loading?: () => any;
    [index: string]: any;
}
export declare function createAdapter(options?: CreateAdapterOptions): ProvideAdapter;
export declare function createAccess(options?: Partial<AccessOptions>): Access;
