export interface SearchProfileRequest {
    keyword?: string;
    pageSize?: number;
    page?: number;
    filterDealer?: boolean;
}
export interface Pagination {
    totalItems: number;
    currentPage: number;
    pageSize: number;
}
export declare type SearchProfileResult = {
    data?: Profile[];
    isExisted: boolean;
} & Pagination;
export interface Profile {
    id?: string;
    taxCode?: string;
    email?: string;
    addresses?: Address[];
    name?: string;
    approvalStatus?: string;
    metaData?: ProfileMetaData;
    platformCode?: string;
    clientCode?: string;
    isActive?: number;
    userType?: string;
    telephone?: string;
    isCompany?: boolean;
    customerTypeId?: number;
    sex?: string;
    dob?: string;
    billing?: BillingInfo;
    surfAddress?: string;
    userId?: string;
    dealer?: Dealer;
}
export interface Dealer {
    id?: string;
    userId?: string;
    name?: string;
    telephone?: string;
    address?: Address;
}
export interface Address {
    id?: string;
    clientId?: number;
    userId?: string;
    email?: string;
    telephone: string;
    name: string;
    latitude?: string;
    longitude?: string;
    provinceName?: string;
    provinceCode?: string;
    districtName?: string;
    districtCode?: string;
    wardName?: string;
    wardCode?: string;
    address?: string;
    addressNote?: string;
    isDefault?: boolean;
}
export interface ProfileMetaData {
    storeType: number;
    inactiveReason?: string;
    storeName?: string;
    rejectedReason?: string;
    businessLicenseNumber?: string;
    image?: string;
    businessLicenseDate?: string;
}
export interface BillingInfo {
    id?: string;
    email?: string;
    name?: string;
    mst?: string;
    address?: string;
}
export interface RegisterProfileRequest {
    telephone?: string;
    name?: string;
}
export interface OperationFlowConfig {
    operationFlow: OperationFlow;
}
export declare enum OperationFlow {
    DEALER = "dealer",
    CONSUMER = "consumer",
    STAFF = "staff"
}
export interface AddressRequest {
    clientCode?: string;
    email?: string;
    telephone: string;
    name: string;
    latitude?: string;
    longitude?: string;
    provinceName?: string;
    provinceCode?: string;
    districtName?: string;
    districtCode?: string;
    wardName?: string;
    wardCode?: string;
    address?: string;
    addressNote?: string;
    isDefault?: boolean;
}
export interface DeleteAddressRequest {
    addressId: string;
}
export interface ChangeDealerResult {
    message: string;
    code: string;
    isSuccess: boolean;
}
export declare type CustomerTypeResult = {
    customerTypes: Array<CustomerType>;
} & Pagination;
export interface CustomerType {
    id: number;
    display: string;
    platformId: number;
}
