import * as services from "./services";
import { IAuthProvider } from "./auth/AuthProvider";
import { Server, ServerConfig } from "./Server";
import { IAuthProviderConfig } from "./services";
export interface BasicServerStartParams extends ServerConfig {
    accessTokenTtl?: number;
    refreshTokenTtl?: number;
    authProviders?: IAuthProvider[];
    defaultProviders?: IAuthProviderConfig[];
    services?: any[];
    enableDownloadLogCompaction?: boolean;
    enableRealmSizeReporting?: boolean;
    maxDownloadSize?: number;
    startupTimeout?: number;
    historyTtl?: number;
    syncServiceConfigOverride?: (config: services.SyncServiceConfig) => void;
    graphQLServiceConfigOverride?: (config: services.GraphQLServiceConfig) => void;
    permissionServiceConfigOverride?: (config: services.PermissionsServiceConfig) => void;
}
export declare class BasicServer extends Server {
    private commander;
    private unhandledRejectionCallback;
    constructor();
    private runInit;
    run(argv: string[]): Promise<void>;
    start(params: BasicServerStartParams): Promise<void>;
    shutdown(): Promise<void>;
    private runStart;
    private runBackup;
}
