export declare const namespaceDelimiter = "__";
export declare function namespace(name: string, namespace: string): string;
export interface PackageInfo {
    name: string;
    version: string;
    dirPath: string;
}
export interface NamespaceBuilderParams {
    hashSalt: string;
    prefix: string;
    namespace: string;
    paths: {
        file: string;
        origin: string;
    };
    packageInfo: PackageInfo;
}
export interface NamespaceBuilder {
    (options: NamespaceBuilderParams): {
        namespace: string;
        hashPart: string;
    } | undefined | null;
}
export interface CreateNamespaceOptions {
    prefix?: string;
    hashSalt?: string;
    hashFragment?: 'full' | 'minimal' | number;
    buildNamespace?: NamespaceBuilder;
    getPackageInfo?: (filePath: string) => PackageInfo;
    handleNoMatch?: (strict: boolean, namespace: string, filePath: string, usedByMap: Map<string, string>) => string;
    hashSeparator?: string;
    strict?: boolean;
    hashFn?: (i: string) => string | number;
    normalizePath: (dirPath: string, filePath: string) => string;
}
export declare function defaultNamespaceBuilder({ prefix, namespace, hashSalt, paths, packageInfo, }: NamespaceBuilderParams): {
    namespace: string;
    hashPart: string;
};
export declare function defaultNoMatchHandler(strict: boolean, ns: string, stylesheetPath: string, usedByMap: Map<string, string>): string;
export declare function createNamespaceStrategy(options: CreateNamespaceOptions): (namespace: string, stylesheetOriginPath: string, stylesheetPath?: string) => string;
//# sourceMappingURL=namespace.d.ts.map