import { type Arrayable } from '@blake.regalia/belt';
type NamingConvModifier = 'abstract' | 'override' | 'private' | 'protected' | 'readonly' | 'static' | 'async' | 'const' | 'destructured' | 'exported' | 'global' | '#private' | 'public' | 'requiresQuotes' | 'unused';
type NamingConvSelector = 'classicAccessor' | 'autoAccessor' | 'class' | 'classMethod' | 'classProperty' | 'enum' | 'enumMember' | 'function' | 'import' | 'interface' | 'objectLiteralMethod' | 'objectLiteralProperty' | 'parameter' | 'parameterProperty' | 'typeAlias' | 'typeMethod' | 'typeParameter' | 'typeProperty' | 'variable';
type NamingConvGroupSelector = 'default' | 'accessor' | 'memberLike' | 'method' | 'property' | 'typeLike' | 'variableLike';
type NamingConvTypes = 'array' | 'boolean' | 'function' | 'number' | 'string';
type NamingConvFormat = 'camelCase' | 'strictCamelCase' | 'PascalCase' | 'StrictPascalCase' | 'snake_case' | 'UPPER_CASE';
interface NamingConvOption {
    format: NamingConvFormat[] | null;
    custom?: {
        regex: string;
        match: boolean;
    };
    leadingUnderscore?: 'forbid' | 'require' | 'requireDouble' | 'allow' | 'allowDouble' | 'allowSingleOrDouble';
    trailingUnderscore?: 'forbid' | 'require' | 'requireDouble' | 'allow' | 'allowDouble' | 'allowSingleOrDouble';
    prefix?: string[];
    suffix?: string[];
    selector: Arrayable<NamingConvSelector | NamingConvGroupSelector>;
    filter?: string | {
        regex: string;
        match: boolean;
    };
    modifiers?: NamingConvModifier[];
    types?: NamingConvTypes[];
}
export declare const A_NAMING_CONVENTION_RULES: NamingConvOption[];
export {};
//# sourceMappingURL=naming.d.ts.map