import { SequelizeAdapter } from './adapter';
import type { SequelizeAdapterParams } from './declarations';
import type { Id, Paginated, Params, ServiceMethods } from '@feathersjs/feathers';
import type { PaginationOptions } from '@feathersjs/adapter-commons';
import type { PaginatedOrArray } from './internal.types';
export * from './declarations';
export * from './adapter';
export * from './hooks';
export { ERROR, errorHandler } from './utils';
export declare class SequelizeService<Result = any, Data = Partial<Result>, ServiceParams extends Params<any> = SequelizeAdapterParams, PatchData = Partial<Data>> extends SequelizeAdapter<Result, Data, ServiceParams, PatchData> implements ServiceMethods<Result | Paginated<Result>, Data, ServiceParams, PatchData> {
    find<P extends ServiceParams & {
        paginate?: PaginationOptions | false;
    }>(params?: P): Promise<PaginatedOrArray<Result, P>>;
    get(id: Id, params?: ServiceParams): Promise<Result>;
    create(data: Data, params?: ServiceParams): Promise<Result>;
    create(data: Data[], params?: ServiceParams): Promise<Result[]>;
    create(data: Data | Data[], params?: ServiceParams): Promise<Result | Result[]>;
    update(id: Id, data: Data, params?: ServiceParams): Promise<Result>;
    patch(id: Id, data: PatchData, params?: ServiceParams): Promise<Result>;
    patch(id: null, data: PatchData, params?: ServiceParams): Promise<Result[]>;
    remove(id: Id, params?: ServiceParams): Promise<Result>;
    remove(id: null, params?: ServiceParams): Promise<Result[]>;
}