import { Container, ContainerConfig, ContainerEngine } from '../../ContainerEngine.js';
import { QuotaLimiter } from '../../google/QuotaLimiter.js';
import { AuthConfig } from '../../model/AccountJson.js';
import { Drive, Permission } from '../folder_registry/FolderRegistryContainer.js';
import { FileId } from '../../model/model.js';
import { GoogleFile } from '../../model/GoogleFile.js';
import { HasAccessToken } from '../../google/AuthClient.js';
export declare class GoogleApiContainer extends Container {
    readonly params: ContainerConfig;
    authConfig: AuthConfig;
    private logger;
    private oldSave;
    private auth;
    private quotaLimiter;
    constructor(params: ContainerConfig, authConfig: AuthConfig);
    init(engine: ContainerEngine): Promise<void>;
    run(): Promise<void>;
    destroy(): Promise<void>;
    listDrives(): Promise<Drive[]>;
    getDrive(driveId: FileId): Promise<Drive>;
    getFolder(fileId: FileId): Promise<GoogleFile>;
    shareDrive(driveId: string, shareEmail: string): Promise<Permission>;
    getAuth(): HasAccessToken;
    getQuotaLimiter(): QuotaLimiter;
}
//# sourceMappingURL=GoogleApiContainer.d.ts.map