import { CMS } from 'alinea/core/CMS';
import type { Config } from 'alinea/core/Config';
import type { UploadResponse } from 'alinea/core/Connection';
import type { AnyQueryResult, GraphQuery } from 'alinea/core/Graph';
import type { Mutation } from 'alinea/core/db/Mutation';
export declare class CoreCMS<Definition extends Config = Config> extends CMS<Definition> {
    sync(): Promise<string>;
    resolve<Query extends GraphQuery>(query: Query): Promise<AnyQueryResult<Query>>;
    mutate(mutations: Array<Mutation>): Promise<{
        sha: string;
    }>;
    prepareUpload(file: string): Promise<UploadResponse>;
}
export declare function createCMS<Definition extends Config>(config: Definition): CoreCMS<Definition>;
