import { ResourceCRUDPromise } from './ResourceCommon/ResourceCRUDPromise';
export declare abstract class ResourceModel {
    static resourceInstance: ResourceCRUDPromise<any, any, any> | null;
    protected static methodQuery: string;
    protected static methodGet: string;
    protected static methodCreate: string;
    protected static methodUpdate: string;
    protected static methodRemove: string;
    readonly $resource: any;
    $resolved: boolean;
    $promise: Promise<any> | null;
    $abort: () => void;
    $idField: string;
    static get(id: string | number): Promise<any>;
    static query(query?: any): Promise<any>;
    static remove(id: string | number): Promise<void>;
    private static getInstance;
    $setData(data: any): this;
    $save(query?: any, params?: any): this;
    $create(query?: any, params?: any): this;
    $update(query?: any, params?: any): this;
    $remove(query?: any, params?: any): this;
    toJSON(): any;
    protected isNew(): boolean;
    protected $getResourceWithMethodCheck(methodName: string): any;
    protected $executeResourceMethod(methodName: string, query?: any, params?: any): this;
}
