import type { Site } from '../Sites';
import { IObjectSubController, _ObjectSubController } from './_ObjectSubController';
import { AxiosInstance } from 'axios';
export interface IObjectSubSiteConfig extends Omit<IObjectSubController, 'instance'> {
    site: Site;
}
export type IObjectSubSiteConfigComplete = IObjectSubSiteConfig & IObjectSubController;
export declare class _ObjectSubSite extends _ObjectSubController {
    protected get instance(): AxiosInstance;
    constructor(config: IObjectSubSiteConfig);
    protected get config(): IObjectSubSiteConfigComplete;
    protected set config(value: IObjectSubSiteConfigComplete);
    protected import(props: any): this;
    /**
     * @param constructor - the construtor to map the object
     * @param object - the properties passed to the constructor if defined
     */
    protected mapObject<U extends _ObjectSubSite>(constructor: new (config: IObjectSubSiteConfig, props: any) => U, object: any): U;
}
