import type { AnyTypeValidation, TypeValidation } from '@altostra/type-validations';
import type { Integration } from "../Integration";
export declare const LOG_SHIPPING_INTEGRATION_TYPE = "log-shipping";
export declare type LogShippingIntegrationType = typeof LOG_SHIPPING_INTEGRATION_TYPE;
export interface LogShippingIntegrationData<TVendor extends string = string, TData = object> {
    vendor: TVendor;
    vendorData: TData;
}
export declare function createLogShippingIntegrationDataValidation<TVendor extends string, TData>(vendor: TVendor, dataValidation: AnyTypeValidation<TData>): TypeValidation<LogShippingIntegrationData<TVendor, TData>>;
export declare type LogShippingIntegration<TVendor extends string = string, TData = object> = Integration<LogShippingIntegrationType, LogShippingIntegrationData<TVendor, TData>>;
export declare function createLogShippingIntegrationValidation<TVendor extends string, TData>(integrationDataValidation: AnyTypeValidation<LogShippingIntegrationData<TVendor, TData>>): TypeValidation<LogShippingIntegration<TVendor, TData>>;
export declare function createLogShippingIntegrationValidation<TVendor extends string, TData>(vendor: TVendor, dataValidation: AnyTypeValidation<TData>): TypeValidation<LogShippingIntegration<TVendor, TData>>;
