securityos/node_modules/styled-components/native/dist/sheet/Sheet.d.ts

41 lines
1.7 KiB
TypeScript

import { GroupedTag, Sheet, SheetOptions } from './types';
type SheetConstructorArgs = {
isServer?: boolean;
useCSSOMInjection?: boolean;
target?: HTMLElement;
};
type GlobalStylesAllocationMap = {
[key: string]: number;
};
type NamesAllocationMap = Map<string, Set<string>>;
/** Contains the main stylesheet logic for stringification and caching */
export default class StyleSheet implements Sheet {
gs: GlobalStylesAllocationMap;
names: NamesAllocationMap;
options: SheetOptions;
server: boolean;
tag?: GroupedTag;
/** Register a group ID to give it an index */
static registerId(id: string): number;
constructor(options?: SheetConstructorArgs, globalStyles?: GlobalStylesAllocationMap, names?: NamesAllocationMap);
reconstructWithOptions(options: SheetConstructorArgs, withNames?: boolean): StyleSheet;
allocateGSInstance(id: string): number;
/** Lazily initialises a GroupedTag for when it's actually needed */
getTag(): GroupedTag;
/** Check whether a name is known for caching */
hasNameForId(id: string, name: string): boolean;
/** Mark a group's name as known for caching */
registerName(id: string, name: string): void;
/** Insert new rules which also marks the name as known */
insertRules(id: string, name: string, rules: string | string[]): void;
/** Clears all cached names for a given group ID */
clearNames(id: string): void;
/** Clears all rules for a given group ID */
clearRules(id: string): void;
/** Clears the entire tag which deletes all rules but not its names */
clearTag(): void;
/** Outputs the current sheet as a CSS string with markers for SSR */
toString(): string;
}
export {};