import { Session, Client } from './../client';
import { PickerOptions } from './../picker';
export type PrefetchSettings = {
    inapp_browser?: boolean;
};
export type PrefetchPermissions = {
    intelligent_ingestion?: boolean;
    whitelabel?: boolean;
    transforms_ui?: boolean;
    enhance?: boolean;
    advanced_enhance?: boolean;
};
export declare enum PrefetchEvents {
    PICKER = "picker",
    TRANSFORM_UI = "transform_ui"
}
export type PrefetchOptions = {
    pickerOptions?: PickerOptions;
    settings?: Array<keyof PrefetchSettings>;
    permissions?: Array<keyof PrefetchPermissions>;
    events?: PrefetchEvents[];
};
export type PrefetchResponse = {
    blocked?: boolean | string;
    settings?: PrefetchSettings;
    permissions?: PrefetchPermissions;
    pickerOptions: PickerOptions;
};
/**
 * @private
 */
export declare class Prefetch {
    private session;
    constructor(param: Session | Client);
    /**
     * Returns filestack options from backend according to input params
     *
     * @param param0
     */
    getConfig({ pickerOptions, settings, permissions, events }: PrefetchOptions): Promise<PrefetchResponse>;
    /**
     * Reassign callbacks from old picker configuration
     *
     * @param objOld
     * @param objTarget
     */
    private reassignCallbacks;
}
