import { TokenSetType } from '../../common/services/auth';
import { Customer, Entity, EntityUser } from './entity.type';
export interface EntityServiceInterface {
    createCustomer(data: unknown, tokenSet?: TokenSetType): Promise<Entity>;
    createEntity(data: unknown, tokenSet?: TokenSetType): Promise<Entity>;
    createEntityUser(data: unknown, tokenSet?: TokenSetType): Promise<EntityUser>;
    deleteEntity(uid: string, tokenSet?: TokenSetType): Promise<void>;
    getAllEntities(tokenSet?: TokenSetType): Promise<Entity[]>;
    getCustomerById(id: string, tokenSet?: TokenSetType): Promise<Customer>;
    getEntity(entityId: string, tokenSet?: TokenSetType): Promise<Entity>;
    getEntityUser(query: Record<string, unknown>, tokenSet?: TokenSetType): Promise<EntityUser>;
    getEntityUserByEmail(email: string, tokenSet?: TokenSetType): Promise<EntityUser>;
    updateEntity(uid: string, data: unknown, tokenSet?: TokenSetType): Promise<Entity>;
    updateEntityUser(id: string, data: unknown, tokenSet?: TokenSetType): Promise<EntityUser>;
    validatePartnerId(entityKey: string, partnerId: string, tokenSet?: TokenSetType): Promise<unknown>;
}
export interface EntityServiceResponse<T> {
    result: T;
    status: boolean;
    statusCode?: number;
    message?: string;
}
export interface ShopInterface {
    partnerId: string;
}
