export type TranslationIoSyncRequest = {
    client: "lingui";
    version: string;
    source_language: string;
    target_languages: string[];
    segments: TranslationIoSegment[];
    purge?: boolean;
};
export type TranslationIoInitRequest = {
    client: "lingui";
    version: string;
    source_language: string;
    target_languages: string[];
    segments: {
        [locale: string]: TranslationIoSegment[];
    };
};
export type TranslationIoSegment = {
    type: string;
    source: string;
    target?: string;
    context?: string;
    references?: string[];
    comment?: string;
};
export type TranslationIoProject = {
    name: string;
    url: string;
};
export type FetchResult<T> = {
    data: T;
    error: undefined;
} | {
    error: {
        response: Response;
        message: string;
    };
    data: undefined;
};
export type TranslationIoResponse = TranslationIoErrorResponse | TranslationProjectResponse;
type TranslationIoErrorResponse = {
    errors: string[];
};
type TranslationProjectResponse = {
    project: TranslationIoProject;
    segments: {
        [locale: string]: TranslationIoSegment[];
    };
};
export declare function tioSync(request: TranslationIoSyncRequest, apiKey: string): Promise<FetchResult<TranslationIoResponse>>;
export declare function tioInit(request: TranslationIoInitRequest, apiKey: string): Promise<FetchResult<TranslationIoResponse>>;
export {};
