import { JsonConvertSettings, JsonConverterBase } from "../helpers/json";
export declare class VyApiResponseErrorConverter extends JsonConverterBase<VyApiResponseError> {
    constructor();
    deserialize(json: any, expectedType: any | null, settings: JsonConvertSettings): VyApiResponseError | null;
}
export declare class VyApiResponseError {
    code?: string;
    traceCode?: string;
    message?: string;
    id?: string;
    static fromError(reason: Error | string): VyApiResponseError;
    constructor(initializer?: Partial<VyApiResponseError>);
}
export declare class VyPagination {
    pageNumber: number;
    pageSize: number;
    numberOfPages: number;
    numberOfElements: number;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
}
export declare class VyApiResponseBase {
    statusCode: number;
    success: boolean;
    pagination?: VyPagination;
    errors?: VyApiResponseError[];
    rawResponse?: object;
    getError: () => Error;
    errorsToStr: () => string;
}
export declare class VyApiResponse<T = any> extends VyApiResponseBase {
    statusCode: number;
    data: T;
    static Success<T extends object>(data: T): VyApiResponse<T>;
    static Fail(reason: Error | string, statusCode?: number): VyApiResponse<undefined>;
}
//# sourceMappingURL=VyApiResponse.d.ts.map