type Tokens = string[];
type BreakpointValues = {
    sel: string;
    values: string[];
};
type BreakpointData = {
    breakpoint: string;
    values: BreakpointValues[];
};
type BreakpointTree = BreakpointData[];
/**
 * Takes a string and returns an array of tokens. Each token is a string or control character.
 *
 * @param source The source string to tokenize
 * @returns An array of tokens
 */
export declare function tokenize(source?: string): Tokens;
/**
 * Takes an array of tokens and returns a basic AST structure.
 *
 * @param tokens An array of tokens
 * @returns A tree structure
 */
export declare function parse(tokens: Tokens): BreakpointTree;
/**
 * Takes a selector, a rule, and a tree of breakpoints and returns a CSS string.
 */
export declare function toCss(selector: string, property: string, tree: BreakpointTree, valueTemplate?: (value: string) => string, styleTemplate?: (property: string, values: string[]) => string): string;
export {};
