import { type Maybe } from '@dereekb/util';
import { type Observable } from 'rxjs';
export type DbxPopoverKey = string;
export declare abstract class DbxPopoverController<O = unknown, I = unknown> {
    abstract readonly key: DbxPopoverKey;
    abstract readonly data?: Maybe<I>;
    abstract readonly closing$: Observable<boolean>;
    /**
     * Signals for the popover to close.
     */
    abstract close(): void;
    /**
     * Closes the popover and returns the input value.
     */
    abstract return(value?: O): void;
}
