import { MutationSubmitBatchChangesArgs } from "./mgmtServerTypes";
export type MigrationInfo = {
    id: string;
    createdAt: string;
    finishedAt: string | null;
    status: string;
    errors: string | null;
};
export declare class ManagementAPIClient {
    private contentApiEndpoint;
    private client;
    constructor(contentApiEndpoint: string, mgmtApiEndpoint: string, authToken: string);
    /**
     * Returns the environment info by fetching all envs and filtering those for the given endpoint
     */
    getEnvironmentInfo: () => Promise<{
        environmentId: string;
        environmentName: string;
        projectId: string;
    }>;
    /**
     * Submits a set of batch changes
     * @param variables
     */
    submit: (variables: MutationSubmitBatchChangesArgs) => Promise<MigrationInfo>;
    pollMigrationStatus(params: {
        projectId: string;
        environmentName: string;
        migrationId: string;
    }): Promise<MigrationInfo>;
    getEnvironmentDiff(otherEnvironmentName: string): Promise<Record<string, unknown>[]>;
    private fetchMigration;
}
