import { type Binding } from "./bindings";
export type ParamsTree = {
    binding: Binding;
    props: {
        [prop: string]: ParamsTree;
    } | undefined;
    rest: ParamsTree | undefined;
};
declare module "@marko/compiler/dist/types" {
    interface NodeExtra {
        nameOnly?: true;
    }
}
export declare function exposeParamsTree(binding: Binding, bodyAnalyzed?: boolean): ParamsTree;
export declare function getSettledParamsTree(paramsTree: ParamsTree | undefined): ParamsTree | undefined;
export declare function getParamsTreeAt(paramsTree: ParamsTree | true, name: string): ParamsTree | true | undefined;
export declare function getAllKnownPropNames(paramsTree: ParamsTree): string[];
export declare function hasAllKnownProps(paramsTree: ParamsTree): boolean | undefined;
