import { Installation, InstallationQuery, InstallationStore, Logger } from '@slack/oauth';
import SlackAppInstallation from './SlackAppInstallation';
import SequelizeInstallationStoreArgs from './SequelizeInstallationStoreArgs';
export default class SequelizeInstallationStore<M extends SlackAppInstallation> implements InstallationStore {
    private sequelize;
    private clientId?;
    private logger;
    private historicalDataEnabled;
    private model;
    private onStoreInstallation;
    private onFetchInstallation;
    private onDeleteInstallation;
    constructor(options: SequelizeInstallationStoreArgs<M>);
    storeInstallation<AuthVersion extends 'v1' | 'v2'>(i: Installation<AuthVersion, boolean>, logger?: Logger): Promise<void>;
    fetchInstallation(query: InstallationQuery<boolean>, logger?: Logger): Promise<Installation<'v1' | 'v2', boolean>>;
    deleteInstallation(query: InstallationQuery<boolean>, logger?: Logger): Promise<void>;
    close(): Promise<void>;
    private buildBotQuery;
    private buildFullWhereClause;
}
//# sourceMappingURL=SequelizeInstallationStore.d.ts.map