interface ListResponse<T> {
    data: T[];
    meta: {
        total: number;
        page: number;
        limit: number;
        has_more: boolean;
    };
}
interface PaginationParams {
    page?: number;
    limit?: number;
    sort_by?: string;
    sort_order?: 'asc' | 'desc';
}
interface ErrorResponse {
    error: string;
    message?: string;
    details?: Record<string, any>;
}
interface ApiError {
    code: string;
    message: string;
    details?: string | Record<string, any>;
}
interface Address {
    first_name?: string;
    last_name?: string;
    email?: string;
    phone?: string;
    line1?: string;
    line2?: string;
    city?: string;
    state?: string;
    postal_code?: string;
    country?: string;
}
type Currency = string;
type DateTime = string;
type Metadata = Record<string, string>;
interface BaseEntity {
    id: string;
    created_at: DateTime;
    updated_at: DateTime;
}

export type { ApiError as A, BaseEntity as B, Currency as C, DateTime as D, ErrorResponse as E, ListResponse as L, Metadata as M, PaginationParams as P, Address as a };
