import { IRopidSchemaDefinitions } from "../../schema-definitions/shared";
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
export declare enum MetaTypeEnum {
    DATASET_INFO = "DATASET_INFO",
    STATE = "STATE",
    TABLE_TOTAL_COUNT = "TABLE_TOTAL_COUNT",
    SAVED_ROWS = "SAVED_ROWS"
}
export declare enum MetaStateEnum {
    DOWNLOADED = "DOWNLOADED",
    SAVED = "SAVED"
}
export declare enum MetaDatasetInfoKeyEnum {
    LAST_MODIFIED = "last_modified",
    FAILED = "failed",
    DEPLOYED = "deployed",
    NUMBER_OF_RETRIES = "number_of_retries",
    DIGEST = "digest"
}
export interface ILastModifiedInfo {
    lastModified: string | null;
    version: number;
}
export declare class RopidMetadataModel extends PostgresModel implements IModel {
    protected readonly schemaDefinitions: IRopidSchemaDefinitions;
    constructor(schemaDefinitions: IRopidSchemaDefinitions);
    getLastModified: (dataset: string) => Promise<ILastModifiedInfo>;
    isDeployed: (dataset: string) => Promise<boolean>;
    checkSavedRows: (dataset: string, version: number) => Promise<void>;
    replaceTmpTables: (dataset: string, version: number) => Promise<boolean>;
    rollbackFailedSaving: (dataset: string, version: number) => Promise<any>;
    private getTotalFromMeta;
    private getTotalFromTables;
}
