import * as IShared from '../../../shared/interface'; import { BankData, Country, Swift } from '../../../shared/entities/user'; export type Entity = BankData; export declare const Route = "bank_data"; export declare const UpperName = "BankData"; export declare const LowerName: string; interface IFindDetailedResponse extends Entity { swift: Swift | null; country: Country; } export type IFindByIdResponse = Omit; export type IFindByOwnerIdResponse = Omit; export type IFindRequest = Record; export type IFindResponse = Omit; export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest { } export type IFindWithPaginationResponse = IShared.IPaginationResponse>; export interface ICreateRequest { provider_id?: string | null; client_id?: string | null; store_operator_id?: string | null; commissioner_id?: string | null; iban: string; swift_id: string | null; country_id: string; } export interface IUpdateRequest { iban?: string; swift_id?: string | null; country_id?: string; } export interface IRepository { findById(selector: IShared.IFindByIdRequest): Promise; findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise; find(selector: IFindRequest): Promise; findPaginated(selector: IFindPaginatedRequest): Promise; create(data: ICreateRequest): Promise; update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise; deleteOne(selector: IShared.IFindByIdRequest): Promise; } export type IController = IShared.IEntityWithUserToken; export {};