import { Observer, ObserveParams } from '../types';
interface GmailLogObserverOptions {
    emailNodeFilter?: (node: Node) => boolean;
    composeNodeFilter?: (node: Node) => boolean;
    emailHeaderTargetSelector?: string;
    composeHeaderTargetSelector?: string;
    emailMessageContainerSelector?: string;
    subjectContainer?: HTMLElement | null;
    disableAutoLogInEmail?: boolean;
    disableAutoLogInCompose?: boolean;
    disableAutoLogInSubject?: boolean;
}
export declare class GmailLogObserver implements Observer {
    private observer;
    private setComposeButtonContainers?;
    private setEmailButtonContainers?;
    private setSubjectButtonContainers?;
    private emailNodeFilter;
    private composeNodeFilter;
    private emailHeaderTargetSelector;
    private composeHeaderTargetSelector;
    private emailMessageContainerSelector;
    private disableAutoLogInEmail;
    private disableAutoLogInCompose;
    private disableAutoLogInSubject;
    private subjectContainer;
    constructor({ emailNodeFilter, composeNodeFilter, emailHeaderTargetSelector, composeHeaderTargetSelector, emailMessageContainerSelector, subjectContainer, disableAutoLogInEmail, disableAutoLogInCompose, disableAutoLogInSubject }?: GmailLogObserverOptions);
    _defaultEmailNodeFilter(node: Node): boolean;
    _defaultComposeNodeFilter(node: Node): boolean;
    _addLogButtonsOnEmail: () => void;
    _addLogButtonsOnCompose: () => void;
    _addLogButtonOnSubject: () => void;
    _initMutationObserver(): void;
    _init(): void;
    observe({ setComposeButtonContainers, setEmailButtonContainers, setSubjectButtonContainers }: ObserveParams): void;
    destroy(): void;
}
export {};
//# sourceMappingURL=GmalLogObserver.d.ts.map