import { ReactiveController, ReactiveElement } from 'lit';
export interface FirstFocusConfig {
    fallback: 'none' | 'host' | 'focusable';
}
/**
 * Provides a focus first behavior to any component via the cds-first-focus attribute
 */
export declare function firstFocus<T extends ReactiveElement>(config?: FirstFocusConfig): ClassDecorator;
export declare class FirstFocusController<T extends ReactiveElement> implements ReactiveController {
    private host;
    private config;
    private observer;
    constructor(host: T, config?: FirstFocusConfig);
    hostConnected(): Promise<void>;
    hostDisconnected(): void;
    private cdsFocusFirst;
}
