interface FunctionArgsInfo {
    args: ArgInfo[];
    ret: ReturnInfo | undefined;
    range: {
        begin: number;
        end: number;
    };
}
interface ArgInfo {
    identifier: string;
    attributes: string[];
    type: string | undefined;
}
interface ReturnInfo {
    attributes: string[];
    type: string;
}
/**
 * Extracts info about arguments of a given WGSL function string.
 * @example
 * const code = `
 *   fn add(a: i32, ＠location(0) b: i32, c) -> i32 {
 *     return a + b + c;
 *   }`;
 *
 * extractArgs(code);
 * // {
 * //   args: [
 * //     { identifier: 'a', attributes: [], type: 'i32' },
 * //     { identifier: 'b', attributes: ['＠location(0)'], type: 'i32' },
 * //     { identifier: 'c', attributes: [], type: undefined }
 * //   ],
 * //   ret: { type: 'i32', attributes: [] },
 * //   range: { begin: 11, end: 51 }
 * // }
 */
export declare function extractArgs(rawCode: string): FunctionArgsInfo;
export {};
