import { ReactiveController, ReactiveElement } from 'lit';
export declare const excessiveInstanceLimit = 50;
export interface AuditOptions {
    excessiveInstanceLimit?: number;
    alternates?: {
        name: string;
        use: string;
    }[];
}
export interface AuditMetadata {
    parents?: string[];
    children?: string[];
    disallowedChildren?: string[];
}
export declare function audit<T extends Audit>(options?: AuditOptions): ClassDecorator;
export type Audit = ReactiveElement;
export declare class AuditController<T extends Audit> implements ReactiveController {
    #private;
    private host;
    private options;
    constructor(host: T, options: AuditOptions);
    hostConnected(): Promise<void>;
    hostDisconnected(): void;
}
